No linear-time BSS program for one-variable LP feasibility
ProvedSmaleNinth.bss_one_variable_lp_no_linear_programThis is the negative form of the one-variable model-sanity statement: in the machine model of the mission, a fixed program cannot decide one-variable linear feasibility in time linear in the number of constraints.
The assertion. For every program over the reals in the fixed instruction set (real constants, field arithmetic at fixed addresses, two-sided tape shifts, a sign-test branch) and every constant , there exist and a one-variable system () such that , started on the standard encoding, does not halt with the correct verdict within steps.
Why. Every instruction addresses cells at fixed offsets from the head, so a program is a window of fixed width sliding along the tape one cell per shift. The coefficient and the right-hand side sit cells apart. In steps some boundary between the two blocks is crossed at most times, so the computation is determined across that boundary by the window contents at those crossings, a transcript of at most real numbers. On corner instances (coefficients and right-hand sides equal to , plus a sentinel constraint ) equal transcripts allow cutting and pasting the two runs into the mixed instance , which must then be declared feasible, forcing and symmetrically . Hence the transcript is injective on an open subset of with ; but near a generic input the transcript is a function of the input, and a map into a space of smaller dimension is injective on no open set.
Context. The quadratic budget is attainable (SmaleNinth.bss_decides_one_variable_lp_quadratic), so this theorem pins the complexity of the one-variable problem in this model at . It is the positive-statement form of the disproof of SmaleNinth.bss_decides_one_variable_lp, published so that other lower bounds can import it.
import Definitions.Def_Polyhedron import Definitions.Def_SmaleNinth_BSSMachine /-! A lower bound in the Blum–Shub–Smale machine of `Definitions.Def_SmaleNinth_BSSMachine`: no uniform program decides one-variable LP feasibility in linear time. Source: crossing-sequence argument for one-tape machines (F. C. Hennie, *One-tape, off-line Turing machine computations*, Information and Control 8 (1965) 553–578) adapted to real-number machines with fixed-address instructions; the algebraic step is a dimension argument (a `C¹` map from an open subset of `ℝ^p` into `ℝ^q`, `q < p`, is not injective). Formal proof: the accepted disproof of `SmaleNinth.bss_decides_one_variable_lp`. -/ open Matrix LinearOptimization /-- **Linear-time lower bound for one-variable LP feasibility.** For every program `P` and constant `C` there is a one-variable instance that `P` does not decide correctly within `C·(m+1)` steps. -/
theorem SmaleNinth.bss_one_variable_lp_no_linear_program (P : BSSProgram) (C : ℕ) :
¬ ∀ (m : ℕ) (A : Matrix (Fin m) (Fin 1) ℝ) (b : Fin m → ℝ),
∃ result : Bool,
BSSDecidesInTime P (encodeLP A b) (C * (m + 1)) result ∧
(result = true ↔ (polyhedron A b).Nonempty) := by sorry