000 00329nam a2200133Ia 4500
999 _c186333
_d186333
020 _a9781118014783
040 _cCUS
082 _a511.352
_bTOU/T
100 _aTourlakis, George J.
245 0 _aTheory of computation/
_cGeorge J Tourlakis
260 _aHoboken:
_bWiley,
_c2012.
300 _axvii, 389 p. :
_bill. ;
_c25 cm.
505 _aPreface xi 1. Mathematical Foundations 1 1.1 Sets and Logic; Naively 1 1.2 Relations and Functions 40 1.3 Big and Small Infinite Sets; Diagonalization 52 1.4 Induction from a User s Perspective 61 1.5 Why Induction Ticks 68 1.6 Inductively Defined Sets 1.7 Recursive Definitions of Functions 1.8 Additional Exercises 85 2. Algorithms, Computable Functions and Computations 91 2.1 A Theory of Computability 91 2.2 A programming Formalism for the Primitive Recursive Functions Function Class 147 2.3 URM Computations and their Arithmetization 141 2.4 A double-recursion that leads outside the Primitive Recursive Function Class 2.5 Semi-computable Relations: Unsolvability 2.6 The Iteration Theorem of Kleene 172 2.7 Diagonalization Revisited; Unsolvability via Reductions 175 2.8 Productive and Creative Sets 209 2.9 The Recursion Theorem 214 2. 10 Completeness 217 2.11 Unprovability from Unsolvability 221 2.12 Additional Exercises 234 3. A Subset of the URM Language; FA and NFA 241 3.1 Deterministic Finite Automata and their Languages 243 3.2 Nondeterministic Finite Automata 3.3 Regular Expressions 266 3.4 Regular Grammars and Languages 277 3.5 Additional Exercises 287 4. Adding a stack of a NFA: Pushdown Automata 4.1 The PDA 294 4.2 PDA Computations 294 4.3 The PDA-acceptable Languages are the Context Free Languages 305 4.4 Non-Context Free Languages; Another Pumping Lemma 312 4.5 Additional Exercise 322 5. Computational Complexity 325 5.1 Adding a second stack; Turning Machines 325 5.2 Axt, loop program, and Grzegorczyk hierarchies 5.3 Additional Exercised
650 _aFunctional programming languages
650 _aComputable functions
942 _cWB16