The decidability of Presburger Arithmetic

1 / 12

# The decidability of Presburger Arithmetic - PowerPoint PPT Presentation

The decidability of Presburger Arithmetic. By Guillermo Guillen 04/13/05. Dr. Smith COT 6421 FIU Spring 2005. Theorem (Decidability of Presburger Arithmetic, 1929 Warsaw Pol.) : Th(N, + ) is decidable, where Th(N, +) is the set of true

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

## PowerPoint Slideshow about 'The decidability of Presburger Arithmetic' - abe

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

The decidability of

Presburger Arithmetic

By Guillermo Guillen

04/13/05

Dr. Smith COT 6421

FIU Spring 2005

Th(N, +) is decidable, where Th(N, +) is the set of true

sentences in the language of the model (N, +).

Note:

(N, +) is the model with predicate symbols + , ≤ and

N is the set of natural numbers.

for i, j є {0,1}.

Note that every symbol in Σ represents two numbers in binary form,

where top and bottom entries of each matrix is either a 0 or a 1.

Consider A = { w єΣ*| the first row is equal to the second row }.

Ex: 00 11 00 11 11 11 є A and ¬( 11 00 10 00 11 01 00 є A)

00, 11

Let Σ = { 000, 001, 010, 011, 100, 101, 110, 111}.

Consider the following language :

B = { w єΣ* | the sum of the top two rows is equal to the third row }

Ex:

001 110 011 є B

top row 010 ≡ 2, middle row 011 ≡ 3, bottom row 101 ≡ 5.

¬ (001 110 010 001 є B )

top row 0100 ≡ 4, middle row 0110 ≡ 6, bottom row 1001 ≡ 9.

110

111

010

100

000

101

011

001

001 110 011 є B and ¬ (001 110 010 001 є B )

Automata Theory Results:

The DFAs for the reverse of A,B implies that A,B are regular.

A problem of addition can be decided by some DFA if

the addition can be encoded and represented in a particular

way so that a DFA may read and decide such a problem.

Application of DFAs in Theorem :

For each sentence φ , we’ll produce finite automatons that

will compute each atomic formula of φ.

By combining all of φ’s atomic formulas with the use of

connectives and quantifiers, we’ll produce a DFA for φ.

proof of Theorem (Decidability of Presburger Arithmetic):

GOAL: To construct an algorithm that determines on a given input φ,

where φ is a sentence in the language of (N, +), is true in (N,+).

Consider the following algorithm :

On input φ, construct the following sequence :

φ0 = φ = Q1x1 … Qnxn( ψ) , where Qi is either

and ψ has no quantifiers with xi as its variables.

φ1 = Q2x2 ... Qnxn (ψ) , … , φn = ψ .

φ = ( x1 + 5x2 = x3 + 3 )

Next, construct a DFA for φ .

First, set the left side of φ equal to 0.

Then 0 = 3 – x1 – 5x2 + x3 and set b = 3.

Idea: Consider all the 0(mod 2) solutions for the above

eq. when b = 3, 0, 1, 2, -1, -2, (any other necessary integers).

some a when c lies under the column of b for some a in Σ .

Set q3 to be the initial state and q0 to be the final state.

q1

q-1

q-5

q-4

q2

q-3

q-2

q3

q0

Now construct a NDFA for Ai from Ai + 1 :

If φi = Эxi φi + 1 , then for each state in Ai + 1 , Ai will contain that

state and a new start state.

Ai will take as input, say an i x n matrix, and nondeterministically

guesses the (i + 1)th row by simulating Ai + 1 on the new (i + 1) x n

matrix.

Hence, Ai accepts the i x n matrix iff Ai + 1 accepts the (i + 1) x n matrix for some (i + 1)th row.

If φi = for all xi (φi + 1) , then it is equivalent to

¬ there does exists an xi ( ¬ φi + 1) .

Then construct the NDFA for the complement of L (Ai + 1).

which recognizes the “there exists” quantifier.

Finally, construct an NDFA for the language under the “there

exists” quantifier. So, we get our desired Ai .

Last Step of Algorithm on input φ:

Note first that A0 accepts any input string iff φ is true.

If A0 accepts ε then φ is true and accept.

Otherwise, reject. □