Skip to content
Rainbow docs menu

Reference · Non-negative rationals

rainbow.math.rational.nnrat.metric-separation

Non-negative rationalssrc/rainbow/math/rational/nnrat/metric_separation.clj0 definitions, 14 theorems

Exact separation for the computational NNRAT distance and finite radius. The raw NNRAT representation is a quotient presentation, so metric separation concludes `nnrat/equivalent`, not structural equality. Scalar distance is zero exactly when its endpoints are equivalent. The finite supremum radius is zero exactly when the functions are pointwise equivalent on every enumerated member; no claim is made outside that finite support. The distance is also a congruence for the quotient: replacing either endpoint by an equivalent value keeps the distance equivalent. Native, kernel-checked, and axiom-free on D63.

nnrat/at-most-antisymmetric

TheoremFor all inputsNo axiomsSource, line 94

nnrat/at-most-antisymmetric :
  (left right : ℚ≥0)
  (left-right : left ≤ right)
  (right-left : right ≤ left)
  → left = right

= = nnrat/equivalent: equality of rational valuesℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

nnrat/distance-at-most-zero-of-equivalent

TheoremFor all inputsNo axiomsSource, line 115

nnrat/distance-at-most-zero-of-equivalent :
  (left right : ℚ≥0)
  (same : left = right)
  → nnrat/distance left right ≤ 0

0 = nnrat/zero= = nnrat/equivalent: equality of rational valuesℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

nnrat/distance-zero-of-equivalent

TheoremFor all inputsNo axiomsSource, line 149

nnrat/distance-zero-of-equivalent :
  (left right : ℚ≥0)
  (same : left = right)
  → nnrat/distance left right = 0

0 = nnrat/zero= = nnrat/equivalent: equality of rational valuesℚ≥0 = nnrat/NonnegativeRational

nnrat/equivalent-of-distance-at-most-zero

TheoremFor all inputsNo axiomsSource, line 169

nnrat/equivalent-of-distance-at-most-zero :
  (left right : ℚ≥0)
  (distance-at-most-zero : nnrat/distance left right ≤ 0)
  → left = right

0 = nnrat/zero= = nnrat/equivalent: equality of rational valuesℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

nnrat/equivalent-of-distance-zero

TheoremFor all inputsNo axiomsSource, line 209

nnrat/equivalent-of-distance-zero :
  (left right : ℚ≥0)
  (distance-zero : nnrat/distance left right = 0)
  → left = right

0 = nnrat/zero= = nnrat/equivalent: equality of rational valuesℚ≥0 = nnrat/NonnegativeRational

nnrat/distance-zero-iff-equivalent

TheoremFor all inputsNo axiomsSource, line 229

nnrat/distance-zero-iff-equivalent :
  (left right : ℚ≥0)
  → proposition/conjunction (nnrat/distance left right = 0 → left = right) (left = right → nnrat/distance left right = 0)

0 = nnrat/zero= = nnrat/equivalent: equality of rational valuesℚ≥0 = nnrat/NonnegativeRational

nnrat/distance-respects-equivalence

TheoremFor all inputsNo axiomsSource, line 291

nnrat/distance-respects-equivalence :
  (left equivalent-left right equivalent-right : ℚ≥0)
  (same-left : left = equivalent-left)
  (same-right : right = equivalent-right)
  → nnrat/distance left right = nnrat/distance equivalent-left equivalent-right

= = nnrat/equivalent: equality of rational valuesℚ≥0 = nnrat/NonnegativeRational

nnrat/distance-add-subadditive

TheoremFor all inputsNo axiomsSource, line 341

nnrat/distance-add-subadditive :
  (a b c d : ℚ≥0)
  → nnrat/distance (a + b) (c + d) ≤ nnrat/distance a c + nnrat/distance b d

+ = nnrat/addℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

nnrat/distance-multiply-left-bound

TheoremFor all inputsNo axiomsSource, line 414

nnrat/distance-multiply-left-bound :
  (factor left right : ℚ≥0)
  → nnrat/distance (factor · left) (factor · right) ≤ factor · nnrat/distance left right

· = nnrat/multiplyℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

nnrat/map-sum-distance-bound

TheoremFor all inputsNo axiomsSource

nnrat/map-sum-distance-bound.{u} :
  (A : Type u) (left right : A → ℚ≥0) (source : List A)
  → nnrat/distance (nnrat/map-sum A left source) (nnrat/map-sum A right source) ≤ nnrat/map-sum A (fun x => nnrat/distance (left x) (right x)) source

List = data/Listℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

nnrat/map-sum-monotone-on

TheoremFor all inputsNo axiomsSource, line 488

nnrat/map-sum-monotone-on.{u} :
  (A : Type u) (f g : A → ℚ≥0) (items : List A)
  (bounded : ∀ (value : A), ∀ (member : list/membership A items value), f value ≤ g value)
  → nnrat/map-sum A f items ≤ nnrat/map-sum A g items

List = data/Listℚ≥0 = nnrat/NonnegativeRational≤ = nnrat/at-most

metric/finite-nnrat-sup-radius-zero-of-pointwise-equivalent

TheoremFor all inputsNo axiomsSource, line 557

metric/finite-nnrat-sup-radius-zero-of-pointwise-equivalent.{u} :
  (A : Type u) (source : Finset A) (left right : A → ℚ≥0)
  (pointwise : ∀ (state : A), ∀ (member : state ∈ source), left state = right state)
  → max s∈source |left s - right s| = 0

0 = nnrat/zero= = nnrat/equivalent: equality of rational valuesFinset = finset-data/Finsetmax s∈S |f s - g s| = metric/finite-nnrat-sup-radius: largest distance over the listed states (0 if none)ℚ≥0 = nnrat/NonnegativeRational∈ = finset-data/to-set: membership in a finite set

metric/pointwise-equivalent-of-finite-nnrat-sup-radius-zero

TheoremFor all inputsNo axiomsSource, line 604

metric/pointwise-equivalent-of-finite-nnrat-sup-radius-zero.{u} :
  (A : Type u) (source : Finset A) (left right : A → ℚ≥0)
  (radius-zero : max s∈source |left s - right s| = 0)
  (state : A)
  (member : state ∈ source)
  → left state = right state

0 = nnrat/zero= = nnrat/equivalent: equality of rational valuesFinset = finset-data/Finsetmax s∈S |f s - g s| = metric/finite-nnrat-sup-radius: largest distance over the listed states (0 if none)ℚ≥0 = nnrat/NonnegativeRational∈ = finset-data/to-set: membership in a finite set

metric/finite-nnrat-sup-radius-zero-iff-pointwise-equivalent

TheoremFor all inputsNo axiomsSource, line 654

metric/finite-nnrat-sup-radius-zero-iff-pointwise-equivalent.{u} :
  (A : Type u) (source : Finset A) (left right : A → ℚ≥0)
  → proposition/conjunction (max s∈source |left s - right s| = 0 → (∀ (state : A), ∀ (member : state ∈ source), left state = right state)) ((∀ (state : A), ∀ (member : state ∈ source), left state = right state) → max s∈source |left s - right s| = 0)

0 = nnrat/zero= = nnrat/equivalent: equality of rational valuesFinset = finset-data/Finsetmax s∈S |f s - g s| = metric/finite-nnrat-sup-radius: largest distance over the listed states (0 if none)ℚ≥0 = nnrat/NonnegativeRational∈ = finset-data/to-set: membership in a finite set