Description

Book Synopsis
With a focus on Unbound Register Machines (URMs), this book introduces new ideas and topics using real computer-related examples to help readers gain the skills and intuition that are key to successful programming.

Trade Review

“This is an outstanding book, and I recommend it highly to students and practitioners alike.” (Computing Reviews, 8 April 2013)



Table of Contents
Preface xi

1. Mathematical Foundations 1

1.1 Sets and Logic; Naïvely 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

Theory of Computation

    Product form

    £102.56

    Includes FREE delivery

    RRP £113.95 – you save £11.39 (9%)

    Order before 4pm today for delivery by Fri 3 Jul 2026.

    A Hardback by George Tourlakis

      Trusted by thousands of customers. See 2,385+ Customer Reviews

      View other formats and editions of Theory of Computation by George Tourlakis

      Publisher: John Wiley & Sons Inc
      Publication Date: 27/04/2012
      ISBN13: 9781118014783, 978-1118014783
      ISBN10: 1118014782
      Also in:
      Mathematics

      Description

      Book Synopsis
      With a focus on Unbound Register Machines (URMs), this book introduces new ideas and topics using real computer-related examples to help readers gain the skills and intuition that are key to successful programming.

      Trade Review

      “This is an outstanding book, and I recommend it highly to students and practitioners alike.” (Computing Reviews, 8 April 2013)



      Table of Contents
      Preface xi

      1. Mathematical Foundations 1

      1.1 Sets and Logic; Naïvely 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

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account