Reference · Lemmas behind operations-research checks
rainbow.math.lemmas.cover-cut
General lemmas: cover cut. The mathematical facts the corresponding checks rest on, each checked by the kernel.
signed/expr-sum-value-zero-or-at-least-one
signed/expr-sum-value-zero-or-at-least-one : (F : ℕ → ℚ) (k : ℕ) (zo-h : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx k), proposition/disjunction (F idx = 0) (F idx = 1)) → proposition/disjunction (signed/expr-sum-value F k = 0) (1 ≤ signed/expr-sum-value F k)
0 = signed/zero1 = signed/one= = signed/equivalent: equality of rational valuesℕ = data/Natℚ = signed/SignedRational≤ = signed/at-most
signed/cover-inequality-valid
signed/cover-inequality-valid : (a c x : ℕ → ℚ) (b : ℚ) (n : ℕ) (ha : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx n), 0 ≤ a idx) (hc : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx n), c idx · (1 + signed/negate (c idx)) = 0) (hx : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx n), x idx · (1 + signed/negate (x idx)) = 0) (hfeas : signed/expr-sum-value (fun ax => a ax · x ax) n ≤ b) (hcover : proposition/negation (signed/expr-sum-value (fun ac => a ac · c ac) n ≤ b)) → signed/expr-sum-value (fun cx => c cx · x cx) n ≤ signed/expr-sum-value (fun cs => c cs) n + signed/negate 1
+ = signed/add0 = signed/zero1 = signed/one= = signed/equivalent: equality of rational values· = signed/multiplyℕ = data/Natℚ = signed/SignedRational≤ = signed/at-most