{"id":24840,"date":"2014-05-30T19:22:47","date_gmt":"2014-05-31T00:22:47","guid":{"rendered":"http:\/\/blogs.ams.org\/mathgradblog\/?p=24840"},"modified":"2014-06-17T15:59:04","modified_gmt":"2014-06-17T20:59:04","slug":"presburger-arithmetic-model-theory-mathematical-computing","status":"publish","type":"post","link":"https:\/\/blogs.ams.org\/mathgradblog\/2014\/05\/30\/presburger-arithmetic-model-theory-mathematical-computing\/","title":{"rendered":"Presburger Arithmetic: From Model Theory to Mathematical Computing"},"content":{"rendered":"<p>What good is arithmetic without multiplication? Pretty great, actually! Presburger arithmetic, formally defined as the theory of the natural numbers with addition, is a particularly interesting model of arithmetic. Because it does not formalize multiplication, Presburger arithmetic is relatively weak in terms of what it can express\u2014weak enough, in fact, that G\u00f6del\u2019s Incompleteness Theorems don\u2019t apply to it. While it can\u2019t define prime numbers or division by variables, it is complete and decidable. This means it is possible to check any sentence to determine whether or not it is true in the model, i.e. whether it is a theorem or nontheorem of Presburger arithmetic.<!--more--><\/p>\n<p>The axioms of Presburger arithmetic are essentially a subset of the <a href=\"http:\/\/en.wikipedia.org\/wiki\/Peano_axioms\" target=\"_blank\">Peano axioms<\/a>, excluding those pertaining to multiplication. For our purposes, it suffices to know that Presburger arithmetic deals with the nonnegative integers with standard definitions for equality, succession, and addition. Most of the usual properties of integer arithmetic can be built up from those definitions\u2014for example, \u201cless than\u201d is a definable relation in Presburger arithmetic. It is also permissible to define constant multiplication for a given integer\u2014that is, we are allowed to define the operation 3 * <em>x<\/em> because it is essentially shorthand for adding the term <em>x<\/em> to itself a specified number of times. However, we may not define <em>x<\/em> * <em>y<\/em>, because both terms are variables and this introduces a problematic ambiguity.<\/p>\n<p>Now that we know what the ground rules are, what makes Presburger arithmetic interesting? Compared to other models of arithmetic, it may seem restrictive and boring, but its restrictiveness is precisely what makes it important. G\u00f6del\u2019s Incompleteness Theorems, which assert the existence of undecidable propositions, only apply to formal theories of a certain strength. By excluding generalized multiplication, Presburger arithmetic remains insufficiently strong for the Incompleteness Theorems to apply, and hence all its propositions are decidable. This makes Presburger arithmetic especially appealing for automated theorem proving\u2014since you can find a finite decision algorithm for any proposition, you can program a computer to prove or disprove\u00a0theorems in the language. The Coq proof assistant and the theorem prover Princess are both examples of automated theorem provers that base some or all of their functionality on Presburger arithmetic. These theorem provers can have applications beyond model theory\u2014Princess has been used by such programs as Seneschal, a ranking function generator for bitvector relations, and Joogie, which detects infeasible code in the Java programming language. That\u2019s a broad scope of applications for a model that can\u2019t even define multiplication!<\/p>\n<p>If you\u2019re interested in reading more about Presburger arithmetic or its applications, <a href=\"http:\/\/en.wikipedia.org\/wiki\/Presburger_arithmetic\" target=\"_blank\">Wikipedia<\/a> has a great overview, and the official webpage for the <a href=\"http:\/\/www.philipp.ruemmer.org\/princess.shtml\" target=\"_blank\">Princess theorem prover<\/a> provides a lot of documentation.<\/p>\n<div style=\"margin-top: 0px; margin-bottom: 0px;\" class=\"sharethis-inline-share-buttons\" ><\/div>","protected":false},"excerpt":{"rendered":"<p>What good is arithmetic without multiplication? Pretty great, actually! Presburger arithmetic, formally defined as the theory of the natural numbers with addition, is a particularly interesting model of arithmetic. Because it does not formalize multiplication, Presburger arithmetic is relatively weak &hellip; <a href=\"https:\/\/blogs.ams.org\/mathgradblog\/2014\/05\/30\/presburger-arithmetic-model-theory-mathematical-computing\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n<div style=\"margin-top: 0px; margin-bottom: 0px;\" class=\"sharethis-inline-share-buttons\" data-url=https:\/\/blogs.ams.org\/mathgradblog\/2014\/05\/30\/presburger-arithmetic-model-theory-mathematical-computing\/><\/div>\n","protected":false},"author":48,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[12,21],"tags":[],"class_list":["post-24840","post","type-post","status-publish","format-standard","hentry","category-math","category-technology-math"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p3gbww-6sE","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blogs.ams.org\/mathgradblog\/wp-json\/wp\/v2\/posts\/24840","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogs.ams.org\/mathgradblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogs.ams.org\/mathgradblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogs.ams.org\/mathgradblog\/wp-json\/wp\/v2\/users\/48"}],"replies":[{"embeddable":true,"href":"https:\/\/blogs.ams.org\/mathgradblog\/wp-json\/wp\/v2\/comments?post=24840"}],"version-history":[{"count":2,"href":"https:\/\/blogs.ams.org\/mathgradblog\/wp-json\/wp\/v2\/posts\/24840\/revisions"}],"predecessor-version":[{"id":24842,"href":"https:\/\/blogs.ams.org\/mathgradblog\/wp-json\/wp\/v2\/posts\/24840\/revisions\/24842"}],"wp:attachment":[{"href":"https:\/\/blogs.ams.org\/mathgradblog\/wp-json\/wp\/v2\/media?parent=24840"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogs.ams.org\/mathgradblog\/wp-json\/wp\/v2\/categories?post=24840"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogs.ams.org\/mathgradblog\/wp-json\/wp\/v2\/tags?post=24840"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}