Photolithography: Difference between revisions

From formulasearchengine
Jump to navigation Jump to search
 
Line 1: Line 1:
'''Presburger arithmetic''' is the [[first-order predicate calculus|first-order theory]] of the [[natural number]]s with [[addition]], named in honor of [[Mojżesz Presburger]], who introduced it in 1929. The [[signature (mathematical logic)|signature]] of Presburger arithmetic contains only the addition operation and equality, omitting the multiplication operation entirely. The axioms include a schema of induction.
Hello! <br>I'm German male ;=). <br>I really love Grey's Anatomy!<br><br>My homepage: [http://Www.Kemnu.com/11512/fifa-coin-generator How To Get Free Fifa 15 Coins]
 
Presburger arithmetic is much weaker than [[Peano arithmetic]], which includes both addition and multiplication operations. Unlike Peano arithmetic, Presburger arithmetic is a [[Decidability (logic)|decidable theory]]. This means it is possible to effectively 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 [[decision problem]] is doubly exponential, however, as shown by Fischer and Rabin&nbsp;(1974).
 
==Overview==
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 closure]]s of the following:
# ¬(0 = ''x'' + 1)
# ''x'' + 1 = ''y'' + 1 → ''x'' = ''y''
# ''x'' + 0 = ''x''
# ''x'' + (''y'' + 1) = (''x'' + ''y'') + 1
# Let ''P''(''x'') be a [[first-order logic|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:
::(''P''(0) &and; &forall;''x''(''P''(''x'') &rarr; ''P''(''x'' + 1))) &rarr; &forall;''y'' ''P''(''y'').
 
(5) is an [[axiom schema]] of [[Mathematical Induction|induction]], representing infinitely many axioms. Since the axioms in the schema in (5) cannot be replaced by any finite number of axioms, Presburger arithmetic is not finitely axiomatizable.
 
Presburger arithmetic cannot formalize concepts such as [[divisibility]] or [[prime number]]. Generally, any number concept leading to multiplication cannot be defined in Presburger arithmetic, since that leads to incompleteness and undecidability. 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.
 
==Properties==
 
[[Mojżesz Presburger]] proved Presburger arithmetic to be:
* [[Consistency proof|consistent]]: There is no statement in Presburger arithmetic which can be deduced from the axioms such that its negation can also be deduced.
* [[Completeness|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.
*[[Decidability (logic)|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 2001, p. 188).
 
[[Peano arithmetic]], which is Presburger arithmetic augmented with multiplication, is not decidable, as a consequence of the negative answer to the [[Entscheidungsproblem]]. By [[Gödel's incompleteness theorem]], Peano arithmetic is incomplete and its consistency is not internally provable.
 
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 [[Michael O. Rabin|Rabin]] (1974) proved that any decision algorithm for Presburger arithmetic has a worst-case runtime of at least <math>2^{2^{cn}}</math>, for some constant ''c''>0.  Hence, the decision problem for Presburger arithmetic is an example of a decision problem that has been proved to require more than exponential run time. Fischer and Rabin also proved that for any reasonable axiomatization (defined precisely in their paper), there exist theorems of length ''n'' which have [[double exponential function|doubly exponential]] length proofs. Intuitively, this means there are computational limits on what can be proven by computer programs. Fischer and Rabin's work also implies that Presburger arithmetic can be used to define formulas which 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 Oppen (1978).
 
==Applications==
Because Presburger arithmetic is decidable,  [[automatic theorem prover]]s for Presburger arithmetic exist. (For example, the [[Coq]] proof assistant system features the tactic omega for Presburger arithmetic.) 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: Oppen and Nelson (1980) describe an automatic theorem prover which uses the [[simplex algorithm]] on an extended Presburger arithmetic without nested quantifiers. The simplex algorithm has exponential worst-case running time, but displays considerably better efficiency for typical real-life instances. Exponential running 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 array subscript calculations then fall within the region of decidable problems.  This approach is the basis of at least five proof-of-[[Correctness (computer science)|correctness]] systems for [[computer programs]], beginning with the [[Stanford Pascal Verifier]] in the late 1970s and continuing through to Microsoft's [[Spec sharp|Spec#]] system of 2005.
 
==See also==
*[[Robinson arithmetic]]
 
==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.
* {{Cite book | last1=Enderton | first1=Herbert | title=A mathematical introduction to logic | publisher=[[Academic Press]] | location=Boston, MA | edition=2nd | isbn=978-0-12-238452-3 | year=2001 | postscript=<!--None-->}}
* [[Jeanne Ferrante|Ferrante, Jeanne]], and Charles W. Rackoff, 1979. ''The Computational Complexity of Logical Theories''. Lecture Notes in Mathematics 718. [[Springer-Verlag]].
* [[Michael J. Fischer|Fischer, M. J.]], and [[Michael O. Rabin]], 1974, "[http://www.lcs.mit.edu/publications/pubs/ps/MIT-LCS-TM-043.ps "Super-Exponential Complexity of Presburger Arithmetic.]" ''Proceedings of the SIAM-AMS Symposium in Applied Mathematics Vol. 7'': 27–41.
*{{cite journal | author=G. Nelson and D. C. Oppen | title= "A simplifier based on efficient decision algorithms" | journal=Proc. 5th ACM SIGACT-SIGPLAN symposium on Principles of programming languages | year=Apr. 1978 | pages=141&ndash;150  | doi = 10.1145/512760.512775}}
* [[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.
* [[William Pugh]], 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.
* Young, P., 1985, "Gödel theorems, exponential difficulty and undecidability of arithmetic theories: an exposition" in A. Nerode and R. Shore, Recursion Theory, American Mathematical Society: 503-522.
*Derek C. Oppen: A 2<sup>2<sup>2<sup>''pn''</sup></sup></sup> Upper Bound on the Complexity of Presburger Arithmetic. J. Comput. Syst. Sci. 16(3): 323-332 (1978) {{doi|10.1016/0022-0000(78)90021-1}}
 
==External links==
*[http://www.stefan-baur.de/priv.studies.studienarbeit.html online prover] A Java applet proves or disproves arbitrary formulas of Presburger arithmetic (In German)
*[http://www.philipp.ruemmer.org/princess.shtml] A complete Theorem Prover for Presburger Arithmetic by Philipp Rümmer
 
[[Category:1929 introductions]]
[[Category:Formal theories of arithmetic]]
[[Category:Logic in computer science]]
[[Category:Proof theory]]
[[Category:Model theory]]

Latest revision as of 19:11, 7 January 2015

Hello!
I'm German male ;=).
I really love Grey's Anatomy!

My homepage: How To Get Free Fifa 15 Coins