Khachiyan's perturbation bounds
ProvedSmaleNinth.khachiyan_perturbation_boundsThe ellipsoid method decides a linear system by repeatedly halving the volume of an ellipsoid known to contain the feasible set. For this to terminate, the set must be enclosed in a ball of known radius; for a negative answer to be conclusive, the set must be known to have volume above an explicit floor whenever it is nonempty. A system with integer data satisfies neither condition as given — it may be unbounded, and it may be feasible yet of measure zero. This theorem supplies the standard remedy and its four quantitative guarantees.
Let , let and have all entries bounded by in absolute value, and let . Write for the original solution set, and let
be the perturbed-and-boxed solution set, with and . Then:
- Feasibility is preserved in both directions: if and only if . Relaxing the inequalities by cannot create feasibility, and imposing the box cannot destroy it.
- Boundedness: is bounded, in the elementary sense that some bounds every coordinate of every one of its points.
- An explicit enclosure: is contained in the ball of radius centred at the origin.
- A volume floor: if is nonempty then its Lebesgue measure is at least .
Reading the fourth claim. The bound is non-strict and conditional: nothing is asserted when is empty, in which case its measure is of course . Since under the standing hypotheses, the claim implies that a nonempty is full-dimensional — the property the ellipsoid method actually consumes — but full-dimensionality is a consequence of the stated inequality, not a separate assertion.
Scope. The four claims are exactly the hypotheses that the ellipsoid iteration requires, and they are the only place where integrality of the data is used; the constants are one admissible choice, and any other choice of the same polynomial order supports the same downstream conclusion.
import Definitions.Def_Polyhedron import Definitions.Def_LinearOptimization_Ellipsoid import Definitions.Def_SmaleNinth_Khachiyan /-! The quantitative heart of Khachiyan's theorem: the perturbed-and-boxed system is feasibility-equivalent to the original integer system, bounded, contained in an explicit ball, and — when nonempty — of explicitly bounded-below volume. Source: L.G. Khachiyan, *A polynomial algorithm in linear programming*, Soviet Math. Doklady 20 (1979) 191–194; textbook quantification per B. Korte, J. Vygen, *Combinatorial Optimization*, 6th ed., §4.4–4.5 and Bertsimas–Tsitsiklis, *Introduction to Linear Optimization*, §8.4 (Lemmas on full-dimensionality and volume of the perturbed system). The four claims: 1. `Ax ≥ b` is solvable iff the perturbed-and-boxed system `Ax ≥ b − ε𝟙, −M𝟙 ≤ x ≤ M𝟙` is (Farkas with a Cramer-bounded dual certificate for one direction, the solution-size bound for the other); 2. the perturbed-and-boxed polyhedron is bounded; 3. it is contained in the ball `E(0, r²I)` with `r = (n+1)M`; 4. when nonempty, its volume is at least `v = (ε/(nU))ⁿ` (it contains a cube of side `ε/(nU)` around a solution of sup-norm `≤ M − 1`), so it is full-dimensional. The constants `ε = khachiyanEps n U`, `M = khachiyanBox n U`, `v = khachiyanVolLB n U`, `r = khachiyanRadius n U` are fixed in `Definitions.Def_SmaleNinth_Khachiyan`. -/ open Matrix LinearOptimization /-- **Khachiyan's perturbation bounds** (Khachiyan 1979; Korte–Vygen §4.4–4.5; Bertsimas–Tsitsiklis §8.4). For an integer system `Ax ≥ b` in `n ≥ 1` variables with entries bounded by `U ≥ 1`, the perturbed-and-boxed system `khachiyanSystemA A · x ≥ khachiyanSystemb n U b` is solvable iff the original one is; it is bounded and contained in the ball of radius `khachiyanRadius n U`; and when solvable its solution set has volume at least `khachiyanVolLB n U` — in particular it is full-dimensional. -/
theorem SmaleNinth.khachiyan_perturbation_bounds {m n : ℕ} (U : ℕ) (hU : 1 ≤ U)
(hn : 1 ≤ n) (A : Matrix (Fin m) (Fin n) ℤ) (b : Fin m → ℤ)
(hA : ∀ i j, |A i j| ≤ (U : ℤ)) (hb : ∀ i, |b i| ≤ (U : ℤ)) :
((polyhedron (A.map (Int.cast : ℤ → ℝ))
(fun i => (b i : ℝ))).Nonempty ↔
(polyhedron (khachiyanSystemA A) (khachiyanSystemb n U b)).Nonempty) ∧
IsBoundedSet (polyhedron (khachiyanSystemA A) (khachiyanSystemb n U b)) ∧
polyhedron (khachiyanSystemA A) (khachiyanSystemb n U b) ⊆
ellipsoidBall 0 (khachiyanRadius n U) ∧
((polyhedron (khachiyanSystemA A) (khachiyanSystemb n U b)).Nonempty →
ENNReal.ofReal (khachiyanVolLB n U) ≤
MeasureTheory.volume
(polyhedron (khachiyanSystemA A) (khachiyanSystemb n U b))) := by sorryRead-back
What the Lean code literally says, in plain math · claude-fable-5
Read-back: SmaleNinth.khachiyan_perturbation_bounds
Setting and hypotheses. The statement fixes natural numbers and (implicit; is allowed), a natural number with , and assumes . It takes an integer matrix and an integer vector , together with the entrywise bounds for all and for all (both comparisons after casting into ; when both bound hypotheses are vacuous).
Notation used below. For a real matrix and vector , the polyhedron of the pair is the set , i.e. ; vectors in are functions on . Define the real constants
(Here is literally the real number : the quotient of by the real product , raised to the -th power. Under the hypotheses , , the denominators are nonzero and .)
The perturbed-and-boxed system is the pair with and given rowwise, indexing rows by :
- rows : (the integer entry cast to ) and ;
- rows : if and otherwise (an identity block), and ;
- rows : if and otherwise (a negated identity block), and .
So membership of in the polyhedron says exactly: for every , and and (i.e. ) for every coordinate . Write also for the polyhedron of the original data cast to . (When the system has no constraints, so and .)
The conclusion is a conjunction of four claims.
-
Feasibility equivalence (an iff). is nonempty if and only if is nonempty — the left side of the iff is the nonemptiness of the original polyhedron , the right side the nonemptiness of the perturbed-and-boxed polyhedron , and both directions are asserted.
-
Boundedness. is a bounded set in the following literal sense: there exists a real number (no positivity required of ) such that every satisfies for every coordinate .
-
Containment in a ball. , where is the set — the "ellipsoid ball" of center and radius parameter , defined as the ellipsoid with shape matrix ( the identity), whose membership condition is the quadratic inequality with the matrix inverse taken in the total (junk-for-singular) sense; since here, and the condition reads , i.e. .
-
Conditional volume lower bound (an implication with a non-strict inequality). If is nonempty, then
where is Lebesgue measure (volume) on , valued in , and is the real number coerced into (negative reals would be sent to ; here ). The inequality is , not ; nothing is asserted about the volume when is empty. Full-dimensionality (strictly positive volume) is not itself a conjunct — only this bound is stated.
The whole statement is asserted for every satisfying the hypotheses above.
Confirmed by the mission captain (proposal self-audit).