Reference · Lemmas behind operations-research checks
rainbow.math.lemmas.pcmax-lower-bound
General lemmas: pcmax lower bound. The mathematical facts the corresponding checks rest on, each checked by the kernel.
signed/pcmax-job-bound
signed/pcmax-job-bound : (Y : ℕ → ℕ → ℚ) (p : ℕ → ℚ) (Cp : ℚ) (m n : ℕ) (hY01 : ∀ (yi : ℕ), ∀ (yi-lt : nat/strict-below yi m), ∀ (yj : ℕ), ∀ (yj-lt : nat/strict-below yj n), Y yi yj · (1 + signed/negate (Y yi yj)) = 0) (hcol : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx n), signed/expr-sum-value (fun ci => Y ci idx) m = 1) (hload : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx m), signed/expr-sum-value (fun lj => Y idx lj · p lj) n ≤ Cp) (hp : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx n), 0 ≤ p idx) (j : ℕ) (j-lt : nat/strict-below j n) → p j ≤ Cp
+ = signed/add0 = signed/zero1 = signed/one= = signed/equivalent: equality of rational values· = signed/multiplyℕ = data/Natℚ = signed/SignedRational≤ = signed/at-most
signed/pcmax-average-bound
signed/pcmax-average-bound : (Y : ℕ → ℕ → ℚ) (p : ℕ → ℚ) (Cp : ℚ) (m n : ℕ) (hY01 : ∀ (yi : ℕ), ∀ (yi-lt : nat/strict-below yi m), ∀ (yj : ℕ), ∀ (yj-lt : nat/strict-below yj n), Y yi yj · (1 + signed/negate (Y yi yj)) = 0) (hcol : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx n), signed/expr-sum-value (fun ci => Y ci idx) m = 1) (hload : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx m), signed/expr-sum-value (fun lj => Y idx lj · p lj) n ≤ Cp) → signed/expr-sum-value (fun ap => p ap) n ≤ Cp · signed/from-nnrat (nnrat/make m 0)
+ = signed/add0 = signed/zero1 = signed/one= = signed/equivalent: equality of rational values· = signed/multiplyℕ = data/Natℚ = signed/SignedRational≤ = signed/at-most
signed/at-most-cancel-positive-right
signed/at-most-cancel-positive-right : (a b d : ℚ) (hd : 0 < d) (h : a · d ≤ b · d) → a ≤ b
0 = signed/zero< = signed/less-than· = signed/multiplyℚ = signed/SignedRational≤ = signed/at-most