Lower bounds for RAMs and quantifier elimination

  • Authors:
  • Miklos Ajtai

  • Affiliations:
  • IBM Almaden Research Center, San Jose, CA, USA

  • Venue:
  • Proceedings of the forty-fifth annual ACM symposium on Theory of computing
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

For each natural number d we consider a finite structure Md whose universe is the set of all 0,1-sequence of length n=2d, each representing a natural number in the set {0,1,...,2n-1} in binary form. The operations included in the structure are the four constants 0,1,2n-1,n, multiplication and addition modulo 2n, the unary function min{2x, 2n-1}, the binary functions ⌊ x/y⌋ (with ⌊ x/0 ⌋ =0), max(x,y), min(x,y), and the boolean vector operations, vee,- defined on 0,1 sequences of length n, by performing the operations on all components simultaneously. These are essentially the arithmetic operations that can be performed on a RAM, with wordlength n, by a single instruction. We show that there exists an ε0 and a term (that is, an algebraic expression) F(x,y) built up from the mentioned operations, with the only free variables x,y, such that if Gd(y), d=0,1,2,..., is a sequence of terms, and for all d=0,1,2,..., Md models ∀ x, [Gd(x)- ∃ y, F(x,y)=0], then for infinitely many integers d, the depth of the term Gd, that is, the maximal number of nestings of the operations in it, is at least ε (log d)1/2 = ε (log log n)1/2. The following is a consequence. We are considering RAMs Nn, with wordlength n=2d, whose arithmetic instructions are the arithmetic operations listed above, and also have the usual other RAM instructions. The size of the memory is restricted only by the address space, that is, it is 2n words. The RAMs has a finite instruction set, each instruction is encoded by a fixed natural number independently of n. Therefore a program P can run on each machine Nn, if n=2d is sufficiently large. We show that there exists an ε0 and a program P, such that it satisfies the following two conditions. (i) For all sufficiently large n=2d, if P running on Nn gets an input consisting of two words a and b, then, in constant time, it gives a 0,1 output Pn(a,b). (ii) Suppose that Q is a program such that for each sufficiently large n=2d, if Q, running on Nn, gets a word a of length n as an input, then it decides whether there exists a word b of length n such that Pn(a,b)=0. Then, for infinitely many positive integers d, there exists a word a of length n=2d, such that the running time of Q on Nn at input a is at least ε (log d)1/2 (log log d)-1 ≥ (log d)1/2-ε= (log log n)1/2-ε.