Reference · Lemmas behind operations-research checks
rainbow.math.lemmas.bottleneck-assignment
General lemmas: bottleneck assignment. The mathematical facts the corresponding checks rest on, each checked by the kernel.
signed/cheaper-indicator-one
signed/cheaper-indicator-one : (b x B : ℚ) (hxB : x ≤ B) (hnot : b ≤ B → proposition/falsity) → data/Bool.rec (fun x₄ => ℚ) 1 0 (signed/decide-at-most b x) = 1
0 = signed/zero1 = signed/one= = signed/equivalent: equality of rational valuesℚ = signed/SignedRational≤ = signed/at-most
signed/not-successor-at-most-self
signed/not-successor-at-most-self : (X : ℚ) (h : X + 1 ≤ X) → proposition/falsity
+ = signed/add1 = signed/oneℚ = signed/SignedRational≤ = signed/at-most
signed/bottleneck-assignment-lower-bound
signed/bottleneck-assignment-lower-bound : (A : ℕ → ℕ → ℚ) (r c : ℕ → ℚ) (b : ℚ) (n : ℕ) (hcov : ∀ (ki : ℕ), ∀ (ki-lt : nat/strict-below ki n), ∀ (kj : ℕ), ∀ (kj-lt : nat/strict-below kj n), data/Bool.rec (fun x₃ => ℚ) 1 0 (signed/decide-at-most b (A ki kj)) ≤ r ki + c kj) (hsize : signed/expr-sum-value (fun sr => r sr) n + signed/expr-sum-value (fun sc => c sc) n + 1 ≤ signed/from-nnrat (nnrat/make n 0)) (y : ℕ → ℕ → ℚ) (B : ℚ) (hy01 : ∀ (yi : ℕ), ∀ (yi-lt : nat/strict-below yi n), ∀ (yj : ℕ), ∀ (yj-lt : nat/strict-below yj n), y yi yj · (1 + signed/negate (y yi yj)) = 0) (hrow : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx n), signed/expr-sum-value (fun rj => y idx rj) n = 1) (hcol : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx n), signed/expr-sum-value (fun ci => y ci idx) n = 1) (hbot : ∀ (bi : ℕ), ∀ (bi-lt : nat/strict-below bi n), ∀ (bj : ℕ), ∀ (bj-lt : nat/strict-below bj n), y bi bj · (A bi bj + signed/negate B) ≤ 0) → b ≤ B
+ = signed/add0 = signed/zero1 = signed/one= = signed/equivalent: equality of rational values· = signed/multiplyℕ = data/Natℚ = signed/SignedRational≤ = signed/at-most