Corollary 7.3 — the LP value function is finite convex polyhedral on pos A, or identically −∞
ProvedWets1974.Stability.LPValue_polyhedral_or_botLet be a real matrix and a row vector. For let
(with for an infeasible and for an unbounded program), and let . Then exactly the following dichotomy holds:
- either is a finite convex polyhedral function on : there are finitely many affine functions on with
- or for every .
In the paper's words, is finite convex polyhedral on unless for some , in which case it is identically there. This is the parametric-LP fact that makes the recourse function piecewise linear in its right-hand side, and it drives Proposition 7.5 and Theorem 7.6.
Formalization Note is the platform definition KallMayer.Recourse.LPValue A c t. The paper's Theorem 7.2 assumes has rank ; Corollary 7.3 holds without it, and this statement omits it, which makes it stronger. "Convex polyhedral" is read as the maximum of finitely many affine functions (see the definition file); the paper never defines it.
import Mathlib import Definitions.Def_KallMayer_Recourse_LPValue import Definitions.Def_Wets1974_Stability_ConvexAnalysis
namespace Wets1974.Stability
/-- Corollary 7.3, p. 328: the value function `Q(t) = min {c x | A x = t, x ≥ 0}` is a finite
convex polyhedral function on `pos A`, unless `Q(t) = −∞` for some `t ∈ pos A`, in which case
it is identically `−∞` on `pos A`. -/
theorem LPValue_polyhedral_or_bot {m n : ℕ} (A : Matrix (Fin m) (Fin n) ℝ) (c : Fin n → ℝ) :
IsFiniteConvexPolyhedralOn (fun t => KallMayer.Recourse.LPValue A c t) (posCone A) ∨
∀ t ∈ posCone A, KallMayer.Recourse.LPValue A c t = ⊥ := by sorry
end Wets1974.Stability
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.