Reference · Lemmas behind operations-research checks
rainbow.math.lemmas.mnl-assortment
General lemmas: mnl assortment. The mathematical facts the corresponding checks rest on, each checked by the kernel.
signed/mnl-term-bound
signed/mnl-term-bound : (r v s t R : ℚ) (hv : 0 ≤ v) (hs : s · (1 + signed/negate s) = 0) (ht : t · (1 + signed/negate t) = 0) (hoff : s · (R + signed/negate r) ≤ 0) (hleft : (1 + signed/negate s) · (r + signed/negate R) ≤ 0) → t · (r + signed/negate R) · v ≤ s · (r + signed/negate R) · v
+ = signed/add0 = signed/zero1 = signed/one= = signed/equivalent: equality of rational values· = signed/multiplyℚ = signed/SignedRational≤ = signed/at-most
signed/mnl-weighted-gap
signed/mnl-weighted-gap : (u r v : ℕ → ℚ) (R : ℚ) (n : ℕ) → signed/expr-sum-value (fun gs => u gs · (r gs + signed/negate R) · v gs) n = signed/expr-sum-value (fun ru => u ru · r ru · v ru) n + signed/negate (R · signed/expr-sum-value (fun wu => u wu · v wu) n)
+ = signed/add= = signed/equivalent: equality of rational values· = signed/multiplyℕ = data/Natℚ = signed/SignedRational
signed/mnl-assortment-optimal
signed/mnl-assortment-optimal : (r v s t : ℕ → ℚ) (R R2 : ℚ) (n : ℕ) (hv : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx n), 0 ≤ v idx) (hs : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx n), s idx · (1 + signed/negate (s idx)) = 0) (hrev : R · (1 + signed/expr-sum-value (fun wu => s wu · v wu) n) = signed/expr-sum-value (fun ru => s ru · r ru · v ru) n) (hoff : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx n), s idx · (R + signed/negate (r idx)) ≤ 0) (hleft : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx n), (1 + signed/negate (s idx)) · (r idx + signed/negate R) ≤ 0) (ht : ∀ (idx : ℕ), ∀ (bound : nat/strict-below idx n), t idx · (1 + signed/negate (t idx)) = 0) (hrev2 : R2 · (1 + signed/expr-sum-value (fun wu => t wu · v wu) n) = signed/expr-sum-value (fun ru => t ru · r ru · v ru) n) → R2 ≤ R
+ = signed/add0 = signed/zero1 = signed/one= = signed/equivalent: equality of rational values· = signed/multiplyℕ = data/Natℚ = signed/SignedRational≤ = signed/at-most