Template:Short description Presburger arithmetic is the first-order theory of the natural numbers with addition, named in honor of Mojżesz Presburger, who introduced it in 1929. The signature of Presburger arithmetic contains only the addition operation and equality, omitting the multiplication operation entirely. The theory is computably axiomatizable; the axioms include a schema of induction.

Presburger arithmetic is much weaker than Peano arithmetic, which includes both addition and multiplication operations. Unlike Peano arithmetic, Presburger arithmetic is a decidable theory. This means it is possible to algorithmically determine, for any sentence in the language of Presburger arithmetic, whether that sentence is provable from the axioms of Presburger arithmetic. The asymptotic running-time computational complexity of this algorithm is at least doubly exponential, however, as shown by Template:Harvtxt.

OverviewEdit

The language of Presburger arithmetic contains constants 0 and 1 and a binary function +, interpreted as addition.

In this language, the axioms of Presburger arithmetic are the universal closures of the following:

  1. ¬(0 = x + 1)
  2. x + 1 = y + 1 → x = y
  3. x + 0 = x
  4. x + (y + 1) = (x + y) + 1
  5. Let P(x) be a first-order formula in the language of Presburger arithmetic with a free variable x (and possibly other free variables). Then the following formula is an axiom:Template:Pb(P(0) ∧ ∀x(P(x) → P(x + 1))) → ∀y P(y).

(5) is an axiom schema of induction, representing infinitely many axioms. These cannot be replaced by any finite number of axioms, that is, Presburger arithmetic is not finitely axiomatizable in first-order logic.Template:Sfn

Presburger arithmetic can be viewed as a first-order theory with equality containing precisely all consequences of the above axioms. Alternatively, it can be defined as the set of those sentences that are true in the intended interpretation: the structure of non-negative integers with constants 0, 1, and the addition of non-negative integers.

Presburger arithmetic is designed to be complete and decidable. Therefore, it cannot formalize concepts such as divisibility or primality, or, more generally, any number concept leading to multiplication of variables. However, it can formulate individual instances of divisibility; for example, it proves "for all x, there exists y : (y + y = x) ∨ (y + y + 1 = x)". This states that every number is either even or odd.

PropertiesEdit

Template:Harvtxt proved Presburger arithmetic to be:

  • consistent: There is no statement in Presburger arithmetic that can be deduced from the axioms such that its negation can also be deduced.
  • complete: For each statement in the language of Presburger arithmetic, either it is possible to deduce it from the axioms or it is possible to deduce its negation.
  • decidable: There exists an algorithm that decides whether any given statement in Presburger arithmetic is a theorem or a nontheorem - note that a "nontheorem" is a formula that cannot be proved, not in general necessarily one whose negation can be proved, but in the case of a complete theory like here both definitions are equivalent.

The decidability of Presburger arithmetic can be shown using quantifier elimination, supplemented by reasoning about arithmetical congruence.Template:SfnTemplate:SfnTemplate:SfnTemplate:SfnTemplate:Sfn The steps used to justify a quantifier elimination algorithm can be used to define computable axiomatizations that do not necessarily contain the axiom schema of induction.Template:SfnTemplate:Sfn

In contrast, Peano arithmetic, which is Presburger arithmetic augmented with multiplication, is not decidable, as proved by Church alongside the negative answer to the Entscheidungsproblem. By Gödel's incompleteness theorem, Peano arithmetic is incomplete and its consistency is not internally provable (but see Gentzen's consistency proof).

Computational complexityEdit

The decision problem for Presburger arithmetic is an interesting example in computational complexity theory and computation. Let n be the length of a statement in Presburger arithmetic. Then Template:Harvtxt proved that, in the worst case, the proof of the statement in first-order logic has length at least <math>2^{2^{cn}}</math>, for some constant c>0. Hence, their decision algorithm for Presburger arithmetic has runtime at least exponential. Fischer and Rabin also proved that for any reasonable axiomatization (defined precisely in their paper), there exist theorems of length n that have doubly exponential length proofs. Fischer and Rabin's work also implies that Presburger arithmetic can be used to define formulas that correctly calculate any algorithm as long as the inputs are less than relatively large bounds. The bounds can be increased, but only by using new formulas. On the other hand, a triply exponential upper bound on a decision procedure for Presburger arithmetic was proved by Template:Harvtxt.

A more tight complexity bound was shown using alternating complexity classes by Template:Harvtxt. The set of true statements in Presburger arithmetic (PA) is shown complete for TimeAlternations(22nO(1), n). Thus, its complexity is between double exponential nondeterministic time (2-NEXP) and double exponential space (2-EXPSPACE). Completeness is under Karp reductions. (Also, note that while Presburger arithmetic is commonly abbreviated PA, in mathematics in general PA usually means Peano arithmetic.)

For a more fine-grained result, let PA(i) be the set of true Σi PA statements, and PA(i, j) the set of true Σi PA statements with each quantifier block limited to j variables. '<' is considered to be quantifier-free; here, bounded quantifiers are counted as quantifiers.
PA(1, j) is in P, while PA(1) is NP-complete.Template:Sfn
For i > 0 and j > 2, PA(i + 1, j) is ΣiP-complete. The hardness result only needs j>2 (as opposed to j=1) in the last quantifier block.
For i>0, PA(i+1) is ΣiEXP-complete.Template:Sfn

Short <math>\Sigma_n</math> Presburger Arithmetic (<math>n>2</math>) is <math>\Sigma_{n-2}^P</math> complete (and thus NP complete for <math>n=3</math>). Here, 'short' requires bounded (i.e. <math>O(1)</math>) sentence size except that integer constants are unbounded (but their number of bits in binary counts against input size). Also, <math>\Sigma_2</math> two variable PA (without the restriction of being 'short') is NP-complete.Template:Sfn Short <math>\Pi_2</math> (and thus <math>\Sigma_2</math>) PA is in P, and this extends to fixed-dimensional parametric integer linear programming.Template:Sfn

ApplicationsEdit

Because Presburger arithmetic is decidable, automatic theorem provers for Presburger arithmetic exist. For example, the Coq and Lean proof assistant systems feature the tactic omega for Presburger arithmetic and the Isabelle proof assistant contains a verified quantifier elimination procedure by Template:Harvtxt. The double exponential complexity of the theory makes it infeasible to use the theorem provers on complicated formulas, but this behavior occurs only in the presence of nested quantifiers: Template:Harvtxt describe an automatic theorem prover that uses the simplex algorithm on an extended Presburger arithmetic without nested quantifiers to prove some of the instances of quantifier-free Presburger arithmetic formulas. More recent satisfiability modulo theories solvers use complete integer programming techniques to handle quantifier-free fragment of Presburger arithmetic theory.Template:Sfn

Presburger arithmetic can be extended to include multiplication by constants, since multiplication is repeated addition. Most array subscript calculations then fall within the region of decidable problems.<ref>For example, in the C programming language, if a is an array of 4 bytes element size, the expression a[i] can be translated to abaseadr+i+i+i+i, which fits the restrictions of Presburger arithmetic.</ref> This approach is the basis of at least fiveTemplate:Cn proof-of-correctness systems for computer programs, beginning with the Stanford Pascal Verifier in the late 1970s and continuing through to Microsoft's Spec# system of 2005.

Presburger-definable integer relationEdit

Some properties are now given about integer relations definable in Presburger Arithmetic. For the sake of simplicity, all relations considered in this section are over non-negative integers.

A relation is Presburger-definable if and only if it is a semilinear set.Template:Sfn

A unary integer relation <math>R</math>, that is, a set of non-negative integers, is Presburger-definable if and only if it is ultimately periodic. That is, if there exists a threshold <math>t\in \N</math> and a positive period <math>p\in\N^{>0}</math> such that, for all integer <math>n</math> such that <math>|n|\ge t</math>, <math>n\in R</math> if and only if <math>n+p\in R</math>.

By the Cobham–Semenov theorem, a relation is Presburger-definable if and only if it is definable in Büchi arithmetic of base <math>k</math> for all <math>k\ge2</math>.Template:SfnTemplate:Sfn A relation definable in Büchi arithmetic of base <math>k</math> and <math>k'</math> for <math>k</math> and <math>k'</math> being multiplicatively independent integers is Presburger definable.

An integer relation <math>R</math> is Presburger-definable if and only if all sets of integers that are definable in first-order logic with addition and <math>R</math> (that is, Presburger arithmetic plus a predicate for <math>R</math>) are Presburger-definable.Template:Sfn Equivalently, for each relation <math>R</math> that is not Presburger-definable, there exists a first-order formula with addition and <math>R</math> that defines a set of integers that is not definable using only addition.

Muchnik's characterizationEdit

Presburger-definable relations admit another characterization: by Muchnik's theorem.Template:Sfn It is more complicated to state, but led to the proof of the two former characterizations. Before Muchnik's theorem can be stated, some additional definitions must be introduced.

Let <math>R\subseteq\N^d</math> be a set, the section <math>x_i = j</math> of <math>R</math>, for <math>i < d</math> and <math>j \in \N</math> is defined as

<math>\left \{(x_0,\ldots,x_{i-1},x_{i+1},\ldots,x_{d-1})\in\N^{d-1}\mid(x_0,\ldots,x_{i-1},j,x_{i+1},\ldots,x_{d-1})\in R \right \}.</math>

Given two sets <math>R,S\subseteq\N^d</math> and a Template:Nowrap of integers <math>(p_0,\ldots,p_{d-1})\in\N^d</math>, the set <math>R</math> is called <math>(p_0,\dots,p_{d-1})</math>-periodic in <math>S</math> if, for all <math>(x_0, \dots, x_{d-1}) \in S</math> such that <math>(x_0+p_0,\dots,x_{d-1}+p_{d-1})\in S,</math> then <math>(x_0,\ldots,x_{d-1})\in R</math> if and only if <math>(x_0+p_0,\dots,x_{d-1}+p_{d-1})\in R</math>. For <math>s\in\N</math>, the set <math>R</math> is said to be Template:Nowrap in <math>S</math> if it is Template:Nowrap for some <math>(p_0,\dots,p_{d-1})\in\Z^d</math> such that

<math>\sum_{i=0}^{d-1}|p_i| < s.</math>

Finally, for <math>k,x_0,\dots,x_{d-1}\in\N</math> let

<math>C(k,(x_0,\ldots,x_{d-1}))= \left \{(x_0+c_0,\dots,x_{d-1}+c_{d-1})\mid 0 \leq c_i < k \right \}</math>

denote the cube of size <math>k</math> whose lesser corner is <math>(x_0,\dots,x_{d-1})</math>.

Template:Math theorem

Intuitively, the integer <math>s</math> represents the length of a shift, the integer <math>k</math> is the size of the cubes and <math>t</math> is the threshold before the periodicity. This result remains true when the condition

<math>\sum_{i=0}^{d-1}x_i>t</math>

is replaced either by <math>\min(x_0,\ldots,x_{d-1})>t</math> or by <math>\max(x_0,\ldots,x_{d-1})>t</math>.

This characterization led to the so-called "definable criterion for definability in Presburger arithmetic", that is: there exists a first-order formula with addition and a Template:Nowrap predicate <math>R</math> that holds if and only if <math>R</math> is interpreted by a Presburger-definable relation. Muchnik's theorem also allows one to prove that it is decidable whether an automatic sequence accepts a Presburger-definable set.

See alsoEdit

ReferencesEdit

Template:Reflist

BibliographyEdit

Template:Refbegin

  • {{#invoke:citation/CS1|citation

|CitationClass=web }}

Template:Refend

External linksEdit