Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Smale's ninth problem: no linear-time program

Proved
SmaleNinth.smale_ninth_no_linear_time

by Zexuan Liu · Sep 7, 2026 · Mathlib 0df444a (Lean v4.33.1)

bss-machinecomputational-complexitylinear-programminglower-boundsreal-computation

The mission's goal asserts the existence of a program PPP and constants C,dC, dC,d such that PPP decides {x∣Ax≥b}≠∅\{x \mid Ax \ge b\} \ne \emptyset{x∣Ax≥b}=∅ within C (mn+m+2)dC\,(mn+m+2)^dC(mn+m+2)d steps for all mmm, nnn, AAA, bbb. This statement settles the case d=1d = 1d=1 negatively.

The assertion. For every program PPP in the fixed instruction set of the mission's machine and every constant CCC, there are mmm, nnn, A∈Rm×nA \in \mathbb{R}^{m \times n}A∈Rm×n and b∈Rmb \in \mathbb{R}^mb∈Rm such that PPP, started on the standard encoding, does not halt with the correct verdict within C (mn+m+2)C\,(mn+m+2)C(mn+m+2) steps.

Reading. The exponent ddd in the goal is genuinely needed: no algorithm in this model runs in time linear in the number of input reals. The reason is the fixed-address structure of the machine: a single-variable instance places each coefficient aia_iai​ exactly mmm cells away from its right-hand side bib_ibi​, and the one-variable lower bound shows that a linear budget leaves too few boundary crossings to combine them. Taking n=1n = 1n=1, the input size is 2m+22m + 22m+2, so a linear budget C(mn+m+2)C(mn+m+2)C(mn+m+2) is a linear budget 2C(m+1)2C(m+1)2C(m+1) for the one-variable problem, which is excluded.

What it leaves open. Everything with d≥2d \ge 2d≥2. The mission's goal is the assertion that some ddd works; this theorem only shows that d=1d = 1d=1 does not.

Preamble
import Definitions.Def_Polyhedron
import Definitions.Def_SmaleNinth_BSSMachine

/-!
The goal statement of the mission with the exponent fixed to `d = 1` is
false: no uniform program decides LP feasibility within a bound linear in
the input size `mn + m + 2`.

Source: corollary of the one-variable lower bound
`SmaleNinth.bss_one_variable_lp_no_linear_program` (crossing-sequence
argument for fixed-address real machines): the instances with `n = 1` have
input size `2m + 2`, so a linear budget for the goal is a linear budget for
the one-variable problem.
-/

open Matrix LinearOptimization

/-- **Smale's ninth problem, degree-one exclusion.** For every program `P`
and constant `C`, `P` does not decide LP feasibility within `C·(mn+m+2)`
steps on all instances. -/
Formal statement
theorem SmaleNinth.smale_ninth_no_linear_time (P : BSSProgram) (C : ℕ) :
    ¬ ∀ (m n : ℕ) (A : Matrix (Fin m) (Fin n) ℝ) (b : Fin m → ℝ),
        ∃ result : Bool,
          BSSDecidesInTime P (encodeLP A b) (C * (m * n + m + 2)) result ∧
          (result = true ↔ (polyhedron A b).Nonempty) := by sorry
Source
Corollary of SmaleNinth.bss_one_variable_lp_no_linear_program (crossing-sequence lower bound, cf. Hennie 1965, Information and Control 8, 553-578) applied to the n = 1 instances of the goal theorem SmaleNinth.smale_ninth_problem of the mission Smale's Ninth Problem.

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me