1 / 12

The decidability of Presburger Arithmetic

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

abe
Download Presentation

The decidability of Presburger Arithmetic

An Image/Link below is provided (as is) to download presentation 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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The decidability of Presburger Arithmetic By Guillermo Guillen 04/13/05 Dr. Smith COT 6421 FIU Spring 2005

  2. Theorem (Decidability of Presburger Arithmetic, 1929 Warsaw Pol.) : 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.

  3. Let Σ = { 00, 01, 10, 11} where i j represents the 2 x 1 matrix (i, j)T 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

  4. 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.

  5. 110 111 010 100 000 101 011 001 001 110 011 є B and ¬ (001 110 010 001 є B )

  6. 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 φ.

  7. 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 = ψ .

  8. φ = ( 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).

  9. For each b, create a new state qb and a transition from qb to qc under 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.

  10. q1 q-1 q-5 q-4 q2 q-3 q-2 q3 q0

  11. 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).

  12. Then apply the construction used in the first “if” to get a NDFA 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. □

More Related