Khachiyan's theorem: LP feasibility in polynomially many ellipsoid iterations
ProvedSmaleNinth.khachiyan_ellipsoid_decidesThis is the statement that linear feasibility with integer data is decided in polynomially many ellipsoid iterations — the 1979 result that placed linear programming in polynomial time.
The iteration. An admissible run of the ellipsoid method on a system is a sequence of centres and shape matrices such that, at every time at which the current centre is infeasible, some violated row is selected and the successor is produced by the standard update
the smallest ellipsoid containing the half of the current one that still contains the feasible set. Nothing constrains which violated row is chosen, so the theorem holds for every rule for selecting violated constraints; and nothing is constrained once a centre is feasible, since the algorithm has then answered.
The assertion. Let and , let and have entries bounded by in absolute value, and consider any admissible run on the perturbed-and-boxed system started at with , the ball of enclosing radius . Then
and the budget is polynomially bounded,
Reading the equivalence. The two sides concern different sets: the run is observed on the perturbed-and-boxed system, while the conclusion is about the original system. That the one decides the other is the content of the perturbation bounds. Running the budget to exhaustion without a feasible centre is therefore a proof of infeasibility, not merely a failure to find a point.
Where the hypotheses bite. The restriction comes from the factor in the update, and keeps the constants nondegenerate. The numerical bound uses the integer base- logarithm, and its constant is deliberately generous — only the polynomial order in and is load-bearing.
What remains open after this. The count is polynomial in and in , the bit length of the data. Removing that dependence on — a bound in and alone, valid for arbitrary real data — is exactly the mission's goal, and no known method achieves it.
import Definitions.Def_Polyhedron import Definitions.Def_LinearOptimization_Ellipsoid import Definitions.Def_LinearOptimization_EllipsoidMethod import Definitions.Def_SmaleNinth_Khachiyan /-! Khachiyan's theorem in iteration form: the ellipsoid method decides the feasibility of an integer linear system within an explicitly polynomial number of iterations. Source: L.G. Khachiyan, *A polynomial algorithm in linear programming*, Soviet Math. Doklady 20 (1979) 191–194 — the result that linear programming feasibility with rational data is decidable in polynomial time. Textbook treatment: B. Korte, J. Vygen, *Combinatorial Optimization*, 6th ed., §4.4–4.5 (Khachiyan's theorem); the ellipsoid iteration itself is the platform's `LinearOptimization` development of Bertsimas–Tsitsiklis, *Introduction to Linear Optimization*, Chapter 8. Every admissible run of the ellipsoid method (any rule for choosing violated constraints) on the perturbed-and-boxed system, started from the ball of radius `khachiyanRadius n U`, decides within `khachiyanIterations n U` iterations whether `Ax ≥ b` is solvable: some center lands in the perturbed-and-boxed polyhedron iff the original system is solvable. The iteration budget is bounded by an explicit polynomial in `n` and `log₂ U` — this, not any particular constant, is the content of "polynomially many iterations". (The generous constant `10⁶·(n+2)⁴·(log₂ U + n + 2)` absorbs the crude Cramer–Hadamard estimates fixed in `Definitions.Def_SmaleNinth_Khachiyan`.) -/ open Matrix LinearOptimization /-- **Khachiyan's theorem, iteration form** (Khachiyan 1979; Korte–Vygen §4.5). For an integer system `Ax ≥ b` in `n ≥ 2` variables with entries bounded by `U ≥ 1`: every admissible ellipsoid run on the perturbed-and-boxed system, started at the origin with the ball of radius `khachiyanRadius n U`, hits the perturbed-and-boxed polyhedron with some center within `khachiyanIterations n U` iterations **iff** `Ax ≥ b` has a real solution — and the iteration budget is polynomially bounded: `khachiyanIterations n U ≤ 10⁶·(n+2)⁴·(log₂ U + n + 2)`. -/
theorem SmaleNinth.khachiyan_ellipsoid_decides {m n : ℕ} (U : ℕ) (hU : 1 ≤ U)
(hn : 2 ≤ n) (A : Matrix (Fin m) (Fin n) ℤ) (b : Fin m → ℤ)
(hA : ∀ i j, |A i j| ≤ (U : ℤ)) (hb : ∀ i, |b i| ≤ (U : ℤ))
(x : ℕ → Fin n → ℝ) (D : ℕ → Matrix (Fin n) (Fin n) ℝ)
(hx0 : x 0 = 0)
(hD0 : D 0 = (khachiyanRadius n U) ^ 2 • (1 : Matrix (Fin n) (Fin n) ℝ))
(hrun : IsEllipsoidRun (khachiyanSystemA A) (khachiyanSystemb n U b)
x D (khachiyanIterations n U)) :
((∃ t ≤ khachiyanIterations n U,
x t ∈ polyhedron (khachiyanSystemA A) (khachiyanSystemb n U b)) ↔
(polyhedron (A.map (Int.cast : ℤ → ℝ))
(fun i => (b i : ℝ))).Nonempty) ∧
khachiyanIterations n U ≤
10 ^ 6 * (n + 2) ^ 4 * (Nat.log 2 U + n + 2) := by sorryRead-back
What the Lean code literally says, in plain math · claude-fable-5
Read-back: SmaleNinth.khachiyan_ellipsoid_decides
Setting and hypotheses. The theorem is stated for arbitrary natural numbers and (both implicit; , i.e. a system with no constraint rows, is allowed) and a natural number , under the hypotheses and . It takes an integer matrix and an integer vector with every entry bounded: for all , and for all . It also takes two infinite sequences indexed by all natural numbers : a sequence of centers and a sequence of real matrices (with no symmetry or positive-definiteness assumption placed on any ).
Fixed constants. The statement uses the following explicitly defined quantities (all functions of and only):
where is the natural logarithm and here is the ceiling into the natural numbers (a negative or undefined argument would be sent to ; the Lean logarithm is total, with of a nonpositive number equal to ). The theorem calls the iteration budget ("khachiyanIterations").
The perturbed-and-boxed system. From and the statement builds a real system with rows in variables: a matrix whose first rows are the rows of (cast to ), whose next rows are the identity, and whose last rows are minus the identity; and a right-hand side equal to on the first rows and to on all remaining rows. The associated polyhedron — throughout, "polyhedron of " means the set — is therefore
Initial conditions. The hypotheses fix (the origin) and , the shape matrix of the ball of radius centered at the origin.
The run hypothesis, unfolded. The remaining hypothesis is that is an "ellipsoid run" on up to time , which literally means: for every such that , there exists some row index of the stacked system (any row among the ) whose constraint is violated strictly at , i.e. where is the -th row of , and such that the next iterate is exactly the ellipsoid update with respect to that row:
(These formulas are Lean-total: the square root of a negative number is and the inverse of is , so the equations are meaningful — with junk values — even when ; nothing in the hypothesis requires it to be positive.) This is the entire content of the run hypothesis. In particular: it constrains nothing at any time at which (at such the pair is completely arbitrary, so the sequences after a "hit" are unconstrained); it constrains nothing at times ; it does not specify which violated row is used (any choice rule is admissible); and it never asserts that the algorithm stops — the sequences are given for all time. When some violated row necessarily exists, so the existence part of the condition is never vacuously impossible; the hypothesis is a genuine constraint only in that the update must use some strictly violated row's formulas.
Conclusion. Under all the above, the theorem asserts the conjunction of two claims:
-
(Decision, as an iff.) There exists a time with (the bound is inclusive, so and both count) such that — i.e. some center of the run lands in the perturbed-and-boxed polyhedron within the budget — if and only if the polyhedron of the original system over the reals, (with cast from to , no perturbation and no box), is nonempty.
-
(Budget bound.) The iteration budget satisfies the numerical inequality
where is the natural-number base-2 logarithm of (the largest with ; it equals for ), and the inequality is between natural numbers.
Note that the iff in claim 1 relates membership in the perturbed-and-boxed set (not the original polyhedron) to nonemptiness of the original set; the two sides concern different polyhedra. Also, claim 2 is a purely numerical statement about and and does not involve the run, but it is asserted only under all of the theorem's hypotheses, including the existence of the given run.
Confirmed by the mission captain (proposal self-audit).