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

Slides:



Advertisements
Similar presentations
Theory of Computing Lecture 23 MAS 714 Hartmut Klauck.
Advertisements

4b Lexical analysis Finite Automata
Chapter 5 Pushdown Automata
Lecture 16 Deterministic Turing Machine (DTM) Finite Control tape head.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
Pushdown Automata Section 2.2 CSC 4170 Theory of Computation.
Complexity and Computability Theory I Lecture #4 Rina Zviel-Girshin Leah Epstein Winter
8/27/2009 Sofya Raskhodnikova Intro to Theory of Computation L ECTURE 2 Theory of Computation Finite Automata Operations on languages Nondeterminism L2.1.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen Department of Computer Science University of Texas-Pan American.
1 Introduction to Computability Theory Lecture14: Recap Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
Finite Automata Great Theoretical Ideas In Computer Science Anupam Gupta Danny Sleator CS Fall 2010 Lecture 20Oct 28, 2010Carnegie Mellon University.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture7: PushDown Automata (Part 1) Prof. Amos Israeli.
Introduction to Computability Theory
1 Introduction to Computability Theory Discussion1: Non-Deterministic Finite Automatons Prof. Amos Israeli.
Decidable languages Sipser 4.1 (pages ). CS 311 Mount Holyoke College 2 Hierarchy of languages All languages Turing-recognizable Turing-decidable.
Lecture 3UofH - COSC Dr. Verma 1 COSC 3340: Introduction to Theory of Computation University of Houston Dr. Verma Lecture 3.
Finite Automata and Non Determinism
CS5371 Theory of Computation
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
CS 310 – Fall 2006 Pacific University CS310 Decidability Section 4.1/4.2 November 10, 2006.
CSC 3130: Automata theory and formal languages Andrej Bogdanov The Chinese University of Hong Kong Nondeterminism.
Lecture 3 Goals: Formal definition of NFA, acceptance of a string by an NFA, computation tree associated with a string. Algorithm to convert an NFA to.
CS5371 Theory of Computation Lecture 4: Automata Theory II (DFA = NFA, Regular Language)
1.Defs. a)Finite Automaton: A Finite Automaton ( FA ) has finite set of ‘states’ ( Q={q 0, q 1, q 2, ….. ) and its ‘control’ moves from state to state.
Theory of Computing Lecture 22 MAS 714 Hartmut Klauck.
FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY
CS5371 Theory of Computation Lecture 12: Computability III (Decidable Languages relating to DFA, NFA, and CFG)
CSCI 2670 Introduction to Theory of Computing August 24, 2005.
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
REGULAR LANGUAGES.
Theory of Languages and Automata
4b 4b Lexical analysis Finite Automata. Finite Automata (FA) FA also called Finite State Machine (FSM) –Abstract model of a computing entity. –Decides.
1 State SymbolRead- Q E(Q) a b a b a b Convert to a DFA: Start state: Final States:
CSCI 2670 Introduction to Theory of Computing August 26, 2004.
Decidable languages Section 4.1 CSC 4170 Theory of Computation.
CSCI 2670 Introduction to Theory of Computing October 12, 2005.
D E C I D A B I L I T Y 1. 2 Objectives To investigate the power of algorithms to solve problems. To explore the limits of algorithmic solvability. To.
Deterministic Finite Automata CS 130: Theory of Computation HMU textbook, Chapter 2 (Sec 2.2)
Complexity and Computability Theory I Lecture #8 Instructor: Rina Zviel-Girshin Lea Epstein.
CS 208: Computing Theory Assoc. Prof. Dr. Brahim Hnich Faculty of Computer Sciences Izmir University of Economics.
INHERENT LIMITATIONS OF COMPUTER PROGAMS CSci 4011.
Foundations of (Theoretical) Computer Science Chapter 2 Lecture Notes (Section 2.2: Pushdown Automata) Prof. Karen Daniels, Fall 2010 with acknowledgement.
1.2 Three Basic Concepts Languages start variables Grammars Let us see a grammar for English. Typically, we are told “a sentence can Consist.
CS 154 Formal Languages and Computability February 9 Class Meeting Department of Computer Science San Jose State University Spring 2016 Instructor: Ron.
Chapter 5 Finite Automata Finite State Automata n Capable of recognizing numerous symbol patterns, the class of regular languages n Suitable for.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
Complexity and Computability Theory I Lecture #5 Rina Zviel-Girshin Leah Epstein Winter
1 Section 11.2 Finite Automata Can a machine(i.e., algorithm) recognize a regular language? Yes! Deterministic Finite Automata A deterministic finite automaton.
P Symbol Q E(Q) a b a b a b Convert to a DFA: Start state: Final States:
 2005 SDU Lecture11 Decidability.  2005 SDU 2 Topics Discuss the power of algorithms to solve problems. Demonstrate that some problems can be solved.
Lecture #5 Advanced Computation Theory Finite Automata.
Theory of Computation Automata Theory Dr. Ayman Srour.
Reductions Costas Busch - LSU.
CSE 105 theory of computation
Chapter 2 FINITE AUTOMATA.
CSC 4170 Theory of Computation Nondeterminism Section 1.2.
Decidability of logical theories
COSC 3340: Introduction to Theory of Computation
Nondeterministic Finite Automata
Finite Automata.
Decidability of logical theories
CSC 4170 Theory of Computation Nondeterminism Section 1.2.
Convert to a DFA: Start state: Final States: P Symbol Q E(Q) a b.
Chapter 1 Regular Language
Pushdown automata The Chinese University of Hong Kong Fall 2011
What is it? The term "Automata" is derived from the Greek word "αὐτόματα" which means "self-acting". An automaton (Automata in plural) is an abstract self-propelled.
Presentation transcript:

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: є A and ¬( є 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: є B top row 010 ≡ 2, middle row 011 ≡ 3, bottom row 101 ≡ 5. ¬ ( є B ) top row 0100 ≡ 4, middle row 0110 ≡ 6, bottom row 1001 ≡ 9.

є B and ¬ ( є 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 = φ = Q 1 x 1 … Q n x n ( ψ), where Q i is either and ψ has no quantifiers with x i as its variables. φ 1 = Q 2 x 2... Q n x n (ψ), …, φ n = ψ.

φ = ( x 1 + 5x 2 = x ) Next, construct a DFA for φ. First, set the left side of φ equal to 0. Then 0 = 3 – x 1 – 5x 2 + x 3 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).

b a є Σ □1 □ □ □-2 □ 001 □1 □ 20 □ □ □ □ -3 □-4 □ □ □ □-3 □-4 □ 100 □0 □ 1 □-2 □ □1 □ □ □-2 □ □-2 □ □-4 □-5 □ 111 □-2 □ -3 □-4 □-5 For each b, create a new state q b and a transition from q b to q c under some a when c lies under the column of b for some a in Σ. Set q 3 to be the initial state and q 0 to be the final state.

q1q1 q3 q2 q0 q-2 q-3 q-4 q-5 q-1

Now construct a NDFA for A i from A i + 1 : If φ i = Эx i φ i + 1, then for each state in A i + 1, A i will contain that state and a new start state. A i will take as input, say an i x n matrix, and nondeterministically guesses the (i + 1)th row by simulating A i + 1 on the new (i + 1) x n matrix. Hence, A i accepts the i x n matrix iff A i + 1 accepts the (i + 1) x n matrix for some (i + 1)th row. If φ i = for all x i (φ i + 1 ), then it is equivalent to ¬ there does exists an x i ( ¬ φ i + 1 ). Then construct the NDFA for the complement of L (A i + 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 A i. Last Step of Algorithm on input φ: Note first that A 0 accepts any input string iff φ is true. If A 0 accepts ε then φ is true and accept. Otherwise, reject. □