
Logic and Language Models for Computer Science
Pearson (Publisher)
Published on 13. May 2002
Book
Hardback
341 pages
978-0-13-065487-8 (ISBN)
Description
For sophomore/junior-level courses in, Logic, Automata Theory, Theory of Computation/CS Theory, Discrete Mathematics, and Complexity Theory.
This text provides students with in-depth explorations of a broad range of theoretical topics in computer science. It plunges into the applications of the abstract concepts in order to confront and address the skepticism of many students, and instill in them an appreciation for the usefulness of theory.
This text provides students with in-depth explorations of a broad range of theoretical topics in computer science. It plunges into the applications of the abstract concepts in order to confront and address the skepticism of many students, and instill in them an appreciation for the usefulness of theory.
More details
Language
English
Place of publication
United States
Publishing group
Pearson Education (US)
Target group
College/higher education
Dimensions
Height: 181 mm
Width: 241 mm
Thickness: 18 mm
Weight
701 gr
ISBN-13
978-0-13-065487-8 (9780130654878)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Classification
Persons
Henry Hamburger is a Professor and Chairman of the Department of Computer Science at George Mason University.
Dana Richards is an Associate Professor with the Department of Computer Science at George Mason University.
Dana Richards is an Associate Professor with the Department of Computer Science at George Mason University.
Content
1. Mathematical Preliminaries.
Operators and Their Algebraic Properties. Sets. Strings. Relations and Functions. Growth Rates of Functions. Graphs and Trees. Computing with Mathematical Objects.
I. LOGIC FOR COMPUTER SCIENCE.
2. Propositional Logic.
Propositions. States, Operators, and Truth Tables. Proofs of Equivalence with Truth Tables. Laws of Propositional Logic. Two Important Operators.
3. Proving Things: Why and How.
Reasons for Wanting to Prove Things. Rules of Inference. Proof by Rules. Assumptions. Proof Examples. Types of Theorems and Proof Strategies.
4. Predicate Logic.
Predicates and Functions. Predicates, English, and Sets. Quantifiers. Multiple Quantifiers. Logic for Data Structures.
5. Proving with Predicates.
Inference Rules with Predicates. Proof Strategies with Predicates. Applying logic to Mathematics. Mathematical Induction. Limits of Logic.
6. Program Verification.
The Idea of Verification. Definitions. Inference Rules. Loop Invariants. The Debate About formal Verification.
7. Logic Programming.
The Essence of Prolog and Its Relation to Logic. Getting Started Using Prolog. Database Operations in Prolog. The General Form and a Limitation of Prolog. How Prolog Works. Structures. Lists and Recursion. Built-in Predicates and Operators.
II. LANGUAGE MODELS FOR COMPUTER SCIENCE.
8. Language Models.
Programming Languages and Computer Science. Ambiguity and language Design. Formal Languages. Operations on Languages. Two levels and Two Language Classes. The Questions of Formal Language Theory.
9. Finite Automata and Their Languages.
Automata: The General Idea. Diagrams and Recognition. Formal Notation for Finite Automata. Finite Automata in Prolog. Nondeterminism: The General Idea. Nondeterministic Finite Automata. Removing Nondeterminism. A-Transistions. Pattern Matching. Regular Languages.
10. Regular Expressions.
Regular Sets. Regular Expressions and What They Represent. All Regular sets Are FA Languages. All FA languages Are Represented by Res.
11. Lex: A Tool for Building Lexical Scanners.
Overview. Lex Operators and What They Do. The Structure and processing of Lex Programs. Lex Examples with C. States. Using Lex in Unix. Flex and C++.
12. Context-Free Grammars.
Limitations of Regular Languages. Introduction to Context-Free Grammars. RE Operators in CFGs. Structure, Meaning, and Ambiguity. Backus Normal form and Syntax Diagrams. Theory Matters.
13. Pushdown Automata and Parsing.
Visualizing PDAs. Standard Notation for PDAs. NPDAs for CFG Parsing Strategies. Deterministic Pushdown Automata and Parsing. Bottom-Up Parsing. Pushdown Automata in Prolog. Notes on Memory.
14. Turing Machines.
Beyond Context-Free Languages. A Limitation on Deterministic Pushdown Automata. Unrestricted Grammars. The Turing Machine Model. Infinite Sets. Universal Turing Machines. Limits on Turing Machines. Undecidability. Church-Turing Thesis. Computational Complexity.
Index.
Operators and Their Algebraic Properties. Sets. Strings. Relations and Functions. Growth Rates of Functions. Graphs and Trees. Computing with Mathematical Objects.
I. LOGIC FOR COMPUTER SCIENCE.
2. Propositional Logic.
Propositions. States, Operators, and Truth Tables. Proofs of Equivalence with Truth Tables. Laws of Propositional Logic. Two Important Operators.
3. Proving Things: Why and How.
Reasons for Wanting to Prove Things. Rules of Inference. Proof by Rules. Assumptions. Proof Examples. Types of Theorems and Proof Strategies.
4. Predicate Logic.
Predicates and Functions. Predicates, English, and Sets. Quantifiers. Multiple Quantifiers. Logic for Data Structures.
5. Proving with Predicates.
Inference Rules with Predicates. Proof Strategies with Predicates. Applying logic to Mathematics. Mathematical Induction. Limits of Logic.
6. Program Verification.
The Idea of Verification. Definitions. Inference Rules. Loop Invariants. The Debate About formal Verification.
7. Logic Programming.
The Essence of Prolog and Its Relation to Logic. Getting Started Using Prolog. Database Operations in Prolog. The General Form and a Limitation of Prolog. How Prolog Works. Structures. Lists and Recursion. Built-in Predicates and Operators.
II. LANGUAGE MODELS FOR COMPUTER SCIENCE.
8. Language Models.
Programming Languages and Computer Science. Ambiguity and language Design. Formal Languages. Operations on Languages. Two levels and Two Language Classes. The Questions of Formal Language Theory.
9. Finite Automata and Their Languages.
Automata: The General Idea. Diagrams and Recognition. Formal Notation for Finite Automata. Finite Automata in Prolog. Nondeterminism: The General Idea. Nondeterministic Finite Automata. Removing Nondeterminism. A-Transistions. Pattern Matching. Regular Languages.
10. Regular Expressions.
Regular Sets. Regular Expressions and What They Represent. All Regular sets Are FA Languages. All FA languages Are Represented by Res.
11. Lex: A Tool for Building Lexical Scanners.
Overview. Lex Operators and What They Do. The Structure and processing of Lex Programs. Lex Examples with C. States. Using Lex in Unix. Flex and C++.
12. Context-Free Grammars.
Limitations of Regular Languages. Introduction to Context-Free Grammars. RE Operators in CFGs. Structure, Meaning, and Ambiguity. Backus Normal form and Syntax Diagrams. Theory Matters.
13. Pushdown Automata and Parsing.
Visualizing PDAs. Standard Notation for PDAs. NPDAs for CFG Parsing Strategies. Deterministic Pushdown Automata and Parsing. Bottom-Up Parsing. Pushdown Automata in Prolog. Notes on Memory.
14. Turing Machines.
Beyond Context-Free Languages. A Limitation on Deterministic Pushdown Automata. Unrestricted Grammars. The Turing Machine Model. Infinite Sets. Universal Turing Machines. Limits on Turing Machines. Undecidability. Church-Turing Thesis. Computational Complexity.
Index.