This revised and extensively expanded edition of Computability and Complexity Theory comprises essential materials that are core knowledge in the theory of computation. The book is self-contained, with a preliminary chapter describing key mathematical concepts and notations. Subsequent chapters move from the qualitative aspects of...

This book focuses on key theoretical topics of computing, in particular formal
languages and abstract machines. It is intended primarily to support the theoretical
modules on a computer science or computing-related undergraduate degree
scheme.

Though the book is primarily theoretical in nature, it attempts to avoid the...

It may sound surprising that in computing, a field which develops so fast that the future often becomes the past without having been the present, there is nothing more stable and worthwhile learning than its foundations.

It may sound less surprising that in a field with such a revolutionary methodological impact on all sciences and...

Logic is a branch of philosophy, mathematics and computer science. It studies the required methods to determine whether a statement is true, such as reasoning and computation.

Proofs and Algorithms: Introduction to Logic and Computability is an introduction to the fundamental concepts of contemporary logic - those of a...

Computer Science: Reflections on the Field, Reflections from the Field provides a concise characterization of key ideas that lie at the core of computer science (CS) research. The book offers a description of CS research recognizing the richness and diversity of the field. It brings together two dozen essays on diverse aspects...

In recent years, classical computability has expanded beyond its original scope to address issues related to computability and complexity in algebra, analysis, and physics. The deep interconnection between "computation" and "proof" has originated much of the most significant work in constructive mathematics and mathematical...

The Formal Semantics of Programming Languages provides the basic mathematical techniques necessary for those who are beginning a study of the semantics and logics of programming languages. These techniques will allow students to invent, formalize, and justify rules with which to reason about a variety of programming languages. Although...

... the broad and clear analysis of writing and language, and of automata theory, formal logic, and computability theory he uses to reach [his conclusion] is well worth reading. –H. D. Warner, Western New England College

From Writing to Computers takes as its central theme the issue of a...

This book is an introduction to theoretical computer science emphasizing two interrelated areas: the theory of computability {how to tell whether problems are algorithmically solvable) and the theory of formal languages (how to design and use special languages, as for algorithms). Automata {idealized computer devices) are used as precise...

One of the most striking features of mathematics is the fact that we are much more certain about the mathematical knowledge we have than about what mathematical knowledge is knowledge of. Are numbers, sets, functions and groups physical entities of some kind? Are they objectively existing objects in some non-physical, mathematical realm? Are...

Before digital computers ever existed, Alan Turing envisioned their power and versatility...but also proved what computers could never do.

In an extraordinary and ultimately tragic life that unfolded like a novel, Turing helped break the German Enigma code to turn the tide of World War II, later speculated on...

This volume presents the written versions of the tutorial lectures given at the Workshop on Computational Prospects of Infinity, held from 18 June to 15 August 2005 at the Institute for Mathematical Sciences, National University of Singapore. It consists of articles by four of the leading experts in recursion theory (computability theory) and set...