ebook img

Computability, Complexity, and Languages, Second Edition: Fundamentals of Theoretical Computer Science (Computer Science and Scientific Computing) PDF

628 Pages·1994·9.89 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Computability, Complexity, and Languages, Second Edition: Fundamentals of Theoretical Computer Science (Computer Science and Scientific Computing)

Second Edition Computability, Complexity, and Languages Fundamentals of Theoretical Computer Science Martin D. Davis Department of Computer Science Courant Institute of Mathematical Sciences New York University New York, New York Ron Sigal Departments of Mathematics and Computer Science Yale University New Haven, Connecticut Elaine J. Weyuker Department of Computer Science Courant Institute of Mathematical Sciences New York University New York, New York ACADEMIC PRESS Harcourt, Brace & Company Boston San Diego New York London Sydney Tokyo Toronto This book is printed on acid-free paper @) Copyright© 1994, 1983 by Academic Press, Inc. All rights reserved No part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopy, recording, or any information storage and retrieval system, without permission in writing from the publisher. ACADEMIC PRESS, INC. 525 B Street, Suite 1900, San Diego, CA 92101-4495 United Kingdom Edition published by ACADEMIC PRESS LIMITED 24-28 Oval Road, London NW1 7DX Library of Congress Cataloging-in-Publication Data Davis, Martin 1928- Computability, complexity, and languages: fundamentals of theoretical computer science/Martin D. Davis, Ron Sigal, Elaine J. Weyuker. --2nd ed. p. em. --(Computer science and applied mathematics) Includes bibliographical references and index. ISBN 0-12-206382-1 1. Machine theory. 2. Computational complexity. 3. Formal languages. I. Sigal, Ron. II. Weyuker, Elaine J. III. Title. IV. Series. QA267.D38 1994 511.3-dc20 93-26807 CIP Printed in the United States of America 94 95 96 97 98 BC 9 8 7 6 5 4 3 2 1 To the memory ofH elen and Harry Davis and to Hannah and Herman Sigal Sylvia and Marx Weyuker Vir;ginia Davis, Dana Latch, Thomas Ostrand and to Rachel Weyuker Ostrand Contents Preface xiii Acknowledgments xvii Dependency Graph xix 1 Preliminaries 1 1. Sets and n-tuples 1 2. Functions 3 3. Alphabets and Strings 4 4. Predicates 5 5. Quantifiers 6 6. Proof by Contradiction 8 7. Mathematical Induction 9 Part l Computability 15 2 Programs and Computable Functions 17 1. A Programming Language 17 2. Some Examples of Programs 18 3. Syntax 25 4. Computable Functions 28 5. More about Macros 32 vii viii Contents 3 Primitive Recursive Functions 39 1. Composition 39 2. Recursion 40 3. PRC Classes 42 4. Some Primitive Recursive Functions 44 5. Primitive Recursive Predicates 49 6. Iterated Operations and Bounded Quantifiers 52 7. Minimalization 55 8. Pairing Functions and Godel Numbers 59 4 A Universal Program 65 1. Coding Programs by Numbers 65 2. The Halting Problem 68 3. Universality 70 4. Recursively Enumerable Sets 78 5. The Parameter Theorem 85 6. Diagonalization and Reducibility 88 7. Rice's Theorem 95 *8. The Recursion Theorem 97 *9. A Computable Function That Is Not Primitive Recursive 105 5 Calculations on Strings 113 1. Numerical Representation of Strings 113 2. A Programming Language for String Computations 121 3. The Languages .9' and .9, 126 4. Post-Turing Programs 129 5. Simulation of .9, in :T 135 6. Simulation of .:Tin .9' 140 6 Turing Machines 145 1. Internal States 145 2. A Universal Turing Machine 152 3. The Languages Accepted by Turing Machines 153 4. The Halting Problem for Turing Machines 157 5. Nondeterministic Turing Machines 159 6. Variations on the Turing Machine Theme 162 7 Processes and Grammars 169 1. Semi-Thue Processes 169 2. Simulation of Nondeterministic Turing Machines by Semi-Thue Processes 171 Contents ix 3. Unsolvable Word Problems 176 4. Post's Correspondence Problem 181 5. Grammars 186 6. Some Unsolvable Problems Concerning Grammars 191 *7. Normal Processes 192 8 Classifying Unsolvable Problems 197 1. Using Oracles 197 2. Relativization of Universality 201 3. Reducibility 207 4. Sets r.e. Relative to an Oracle 211 5. The Arithmetic Hierarchy :215 6. Post's Theorem 217 7. Classifying Some Unsolvable Problems 224 8. Rice's Theorem Revisited 230 9. Recursive Permutations 231 Part 2 Grammars and Automata 235 9 Regular Languages 237 1. Finite Automata 237 2. Nondeterministic Finite Automata 242 3. Additional Examples 247 4. Closure Properties 249 5. Kleene's Theorem 253 6. The Pumping Lemma and Its Applications 260 7. The Myhill-Nerode Theorem 263 10 Context-Free Languages 269 1. Context-Free Grammars and Their Derivation Trees 269 2. Regular Grammars 280 3. Chomsky Normal Form 285 4. Bar-Hillel's Pumping Lemma 287 5. Closure Properties 291 *6. Solvable and Unsolvable Problems 297 7. Bracket Languages 301 8. Pushdown Automata 308 9. Compilers and Formal Languages 323 X Contents 11 Context-Sensitive Languages 327 1. The Chomsky Hierarchy 327 2. Linear Bounded Automata 330 3. Closure Properties 337 Part 3 Logic 345 12 Propositional Calculus 34 7 1. Formulas and Assignments 347 2. Tautological Inference 352 3. Normal Forms 353 4. The Davis-Putnam Rules 360 5. Minimal Unsatisfiability and Subsumption 366 6. Resolution 367 7. The Compactness Theorem 370 13 Quantification Theory 375 1. The Language of Predicate Logic 375 2. Semantics 377 3. Logical Consequence 382 4. Herbrand's Theorem 388 5. Unification 399 6. Compactness and Countability 404 *7. Godel's Incompleteness Theorem 407 *8. Unsolvability of the Satisfiability Problem in Predicate Logic 410 Part4 Complexity 417 14 Abstract Complexity 419 1. The Blum Axioms 419 2. The Gap Theorem 425 3. Preliminary Form of the Speedup Theorem 428 4. The Speedup Theorem Concluded 435 15 Polynomial-Time Computability 439 1. Rates of Growth 439 2. P versus NP 443 3. Cook's Theorem 451 4. Other NP-Complete Problems 457 Contents xi Part 5 Semantics 465 16 Approximation Orderings 467 1. Programming Language Semantics 467 2. Partial Orders 4 72 3. Complete Partial Orders 475 4. Continuous Functions 486 5. Fixed Points 494 17 Denotational Semantics of Recursion Equations 505 1. Syntax 505 2. Semantics of Terms 511 3. Solutions toW-Programs 520 4. Denotational Semantics ofW-Programs 530 5. Simple Data Structure Systems 539 6. Infinitary Data Structure Systems 544 18 Operational Semantics of Recursion Equations 557 1. Operational Semantics for Simple Data Structure Systems 557 2. Computable Functions 575 3. Operational Semantics for Infinitary Data Structure Systems 584 Suggestions for Further Reading 593 Notation Index 595 Index 599

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.