Reference · Lemmas behind operations-research checks
rainbow.math.lemmas.kmeans-nearest
General lemmas: kmeans nearest. The mathematical facts the corresponding checks rest on, each checked by the kernel.
signed/zero-one-nonnegative
signed/zero-one-nonnegative : (x : ℚ) (h : x · (1 + signed/negate x) = 0) → 0 ≤ x
+ = signed/add0 = signed/zero1 = signed/one= = signed/equivalent: equality of rational values· = signed/multiplyℚ = signed/SignedRational≤ = signed/at-most
signed/add-of-at-most-subtract-local
signed/add-of-at-most-subtract-local : (dj dk : ℚ) (h : dk + signed/negate dj ≤ 0) → dk ≤ dj
+ = signed/add0 = signed/zeroℚ = signed/SignedRational≤ = signed/at-most
signed/kmeans-assigned-is-nearest
signed/kmeans-assigned-is-nearest : (X d : ℕ → ℚ) (K : ℕ) (x0 : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx K), 0 ≤ X idx) (hnear : signed/expr-sum-value (fun nj => signed/expr-sum-value (fun wk => X wk · data/Bool.rec (fun x₄ => ℚ) 0 (d wk + signed/negate (d nj)) (signed/decide-at-most 0 (d wk + signed/negate (d nj)))) K) K ≤ 0) (k : ℕ) (hk : nat/strict-below k K) (hx : X k = 1) (j : ℕ) (hj : nat/strict-below j K) → d k ≤ d j
+ = signed/add0 = signed/zero1 = signed/one= = signed/equivalent: equality of rational values· = signed/multiplyℕ = data/Natℚ = signed/SignedRational≤ = signed/at-most