Jump to content

Presburger arithmetic: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Correcting the meaning of "complete" and "consistent"
Line 36: Line 36:


==References==
==References==
<div class="references-small">
* Cooper, D. C., 1972, "Theorem Proving in Arithmetic without Multiplication" in B. Meltzer and D. Michie, eds., ''Machine Intelligence''. Edinburgh University Press: 91–100.
* Cooper, D. C., 1972, "Theorem Proving in Arithmetic without Multiplication" in B. Meltzer and D. Michie, eds., ''Machine Intelligence''. Edinburgh University Press: 91–100.
* [[Jeanne Ferrante|Ferrante, Jeanne]], and Charles W. Rackoff, 1979. ''The Computational Complexity of Logical Theories''. Lecture Notes in Mathematics 718. [[Springer-Verlag]].
* [[Jeanne Ferrante|Ferrante, Jeanne]], and Charles W. Rackoff, 1979. ''The Computational Complexity of Logical Theories''. Lecture Notes in Mathematics 718. [[Springer-Verlag]].
Line 43: Line 44:
* Pugh, William, 1991, "[http://doi.acm.org/10.1145/125826.125848 The Omega test: a fast and practical integer programming algorithm for dependence analysis,]".
* Pugh, William, 1991, "[http://doi.acm.org/10.1145/125826.125848 The Omega test: a fast and practical integer programming algorithm for dependence analysis,]".
* Reddy, C. R., and D. W. Loveland, 1978, "[http://doi.acm.org/10.1145/800133.804361 Presburger Arithmetic with Bounded Quantifier Alternation.]" ''ACM Symposium on Theory of Computing'': 320–325.
* Reddy, C. R., and D. W. Loveland, 1978, "[http://doi.acm.org/10.1145/800133.804361 Presburger Arithmetic with Bounded Quantifier Alternation.]" ''ACM Symposium on Theory of Computing'': 320–325.
</div>


==External links==
==External links==

Revision as of 15:11, 30 October 2007

Presburger arithmetic is the first-order theory of the natural numbers with addition, named in honor of Mojżesz Presburger, who published it in 1929. It is not as powerful as Peano arithmetic because it omits multiplication.

Overview

Mojżesz Presburger proved Presburger arithmetic to be:

  • Consistent. There is no statement in Presburger arithmetic which can be deduced from the axioms such that its negation can also be deduced.
  • Complete. For each statement in 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 which decides whether any given statement in Presburger arithmetic is true or false.

The decidability of Presburger arithmetic can be shown using quantifier elimination, supplemented by reasoning about arithmetical congruence (Enderton, A Mathematical Introduction to Logic, p.188).

Peano arithmetic, which is Presburger arithmetic augmented with multiplication, cannot be decidable as a consequence of the negative answer to the Entscheidungsproblem. Nor can it be both consistent and complete, because of Gödel's incompleteness theorem.

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 Fischer and Rabin (1974) proved that any decision algorithm for Presburger arithmetic has a worst-case runtime of at least , for some constant c>0. Hence, the decision problem for Presburger arithmetic is a rare example of a decision problem that has been proved to require more than polynomial or even exponential run time.

The following axioms invoke the object constants 0 and 1, the function constant +, and the predicate constant =. All free variables should be taken as tacitly universally quantified. The axioms are:

  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 involving the constants 0, 1, +, = and a single free variable x. Then the following formula is an axiom:
(P(0) ∧ (P(x)→P(x + 1))) → P(x).

(5) is an axiom schema of induction, representing infinitely many axioms. (5) cannot be replaced by any finite number of axioms; hence Presburger arithmetic cannot be finitely axiomatized.

Presburger arithmetic cannot formalize concepts such as divisibility or prime number. However, it can formulate individual instances of divisibility; for example, it proves "for all x, there exists y : y + y = xy + y + 1 = x". This states that every number is either even or odd.

Applications

Because Presburger arithmetic is decidable, a decision procedure exists for it. Thus, an automatic theorem prover for Presburger arithmetic is possible. Such theorem provers exist. Oppen and Nelson (1980) describes an automatic theorem prover which uses the simplex algorithm on an extended Presburger arithmetic without nested quantifiers. The simplex algorithm has exponential worst-case run time. But the average run time is far better. Exponential run time is only observed for specially constructed cases. This makes a simplex-based approach practical in a working system.

Presburger arithmetic can be extended to include multiplication by constants, since multiplication is repeated addition. Most subscript calculations then fall within the region of decidable problems. This approach is the basis of at least five proof of correctness systems for computer programs, beginning with the Stanford Pascal Verifier in the late 1970s and continuing though to Microsoft's Spec# system of 2005.

See also

References

  • Cooper, D. C., 1972, "Theorem Proving in Arithmetic without Multiplication" in B. Meltzer and D. Michie, eds., Machine Intelligence. Edinburgh University Press: 91–100.
  • Ferrante, Jeanne, and Charles W. Rackoff, 1979. The Computational Complexity of Logical Theories. Lecture Notes in Mathematics 718. Springer-Verlag.
  • Fischer, M. J., and Michael O. Rabin, 1974, ""Super-Exponential Complexity of Presburger Arithmetic." Proceedings of the SIAM-AMS Symposium in Applied Mathematics Vol. 7: 27–41.
  • G. Nelson and D. C. Oppen (Apr. 1978). ""A simplifier based on efficient decision algorithms"". Proc. 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages: 141–150. {{cite journal}}: Check date values in: |year= (help)
  • Mojżesz Presburger, 1929, "Über die Vollständigkeit eines gewissen Systems der Arithmetik ganzer Zahlen, in welchem die Addition als einzige Operation hervortritt" in Comptes Rendus du I congrès de Mathématiciens des Pays Slaves. Warszawa: 92–101.
  • Pugh, William, 1991, "The Omega test: a fast and practical integer programming algorithm for dependence analysis,".
  • Reddy, C. R., and D. W. Loveland, 1978, "Presburger Arithmetic with Bounded Quantifier Alternation." ACM Symposium on Theory of Computing: 320–325.

External links

  • Online-Proofer A Java-Applet proves or disproves arbitrary formulas of Presburger arithmetic (In German)