120 likes | 300 Views
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
E N D
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 sentences in the language of the model (N, +). Note: (N, +) is the model with predicate symbols + , ≤ and N is the set of natural numbers.
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
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).
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.
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).
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. □