Reference · Signed rationals
rainbow.math.rational.signed.lp-scaling-bound
Transport a bound between formal D^2/D-scaled objectives to original sums. A positive rational D is cancelled three times, avoiding an assumed positive representation of D^3. No endpoint-equivalence premise is assumed. This is an objective inequality theorem, not a feasibility or host-code theorem.
signed/scale-positive-cube-reflects-order
signed/scale-positive-cube-reflects-order : (ap adp : ℕ) (left right : ℚ) (ordered : signed/scale (nnrat/make (data/succ ap) adp · nnrat/make (data/succ ap) adp · nnrat/make (data/succ ap) adp) left ≤ signed/scale (nnrat/make (data/succ ap) adp · nnrat/make (data/succ ap) adp · nnrat/make (data/succ ap) adp) right) → left ≤ right
· = nnrat/multiplyℕ = data/Natℚ = signed/SignedRational≤ = signed/at-most
signed/lp-scaled-objectives-bound
signed/lp-scaled-objectives-bound.{u} :
(A : Type u) (ap adp : ℕ) (margins plan capacities prices : A → ℚ)
(columns rows : List A)
(scaled-bound : Σ i∈columns, signed/scale (nnrat/make (data/succ ap) adp · nnrat/make (data/succ ap) adp) (margins i) · signed/scale (nnrat/make (data/succ ap) adp) (plan i) ≤ Σ i∈rows, signed/scale (nnrat/make (data/succ ap) adp · nnrat/make (data/succ ap) adp) (capacities i) · signed/scale (nnrat/make (data/succ ap) adp) (prices i))
→ Σ i∈columns, margins i · plan i ≤ Σ i∈rows, capacities i · prices iList = data/List· = signed/multiplyΣ = signed/map-sum: sum over the listed indicesℕ = data/Natℚ = signed/SignedRational≤ = signed/at-most