Logic and language models for computer science
By: Henry Hamburger, Dana Richards.
Contributors: Richards, Dana, 1955-
Publisher: Prentice Hall
Published: 2002
Place of publication: Upper Saddle River, N.J
Language: eng
Number of pages: 341
Subjects: Formal languages.; Description logics.; Artificial intelligence.
Notes: Includes bibliographical references (p. 333-335) and index.
Table of contents: title: Preface
pagenum: xi; label: 1
title: Mathematical Preliminaries
pagenum: 1; label: 1.1
title: Operators and Their Algebraic Properties
pagenum: 1; label: 1.2
title: Sets
pagenum: 2; label: 1.3
title: Strings
pagenum: 5; label: 1.4
title: Relations and Functions
pagenum: 6; label: 1.5
title: Growth Rates of Functions
pagenum: 7; label: 1.6
title: Graphs and Trees
pagenum: 7; label: 1.7
title: Computing with Mathematical Objects
pagenum: 8; label: Part I
title: Logic for Computer Science
pagenum: 11; label: 2
title: Propositional Logic
pagenum: 15; label: 2.1
title: Propositions
pagenum: 15; label: 2.2
title: States, Operators, and Truth Tables
pagenum: 17; label: 2.3
title: Proofs of Equivalence with Truth Tables
pagenum: 20; label: 2.4
title: Laws of Propositional Logic
pagenum: 22; label: 2.5
title: Two Important Operators
pagenum: 25; label: 3
title: Proving Things: Why and How
pagenum: 33; label: 3.1
title: Reasons for Wanting to Prove Things
pagenum: 33; label: 3.2
title: Rules of Inference
pagenum: 34; label: 3.3
title: Proof by Rules
pagenum: 39; label: 3.4
title: Assumptions
pagenum: 40; label: 3.5
title: Proof Examples
pagenum: 43; label: 3.6
title: Types of Theorems and Proof Strategies
pagenum: 47; label: 4
title: Predicate Logic
pagenum: 53; label: 4.1
title: Predicates and Functions
pagenum: 53; label: 4.2
title: Predicates, English, and Sets
pagenum: 55; label: 4.3
title: Quantifiers
pagenum: 57; label: 4.4
title: Multiple Quantifiers
pagenum: 61; label: 4.5
title: Logic for Data Structures
pagenum: 64; label: 5
title: Proving with Predicates
pagenum: 71; label: 5.1
title: Inference Rules with Predicates
pagenum: 71; label: 5.2
title: Proof Strategies with Predicates
pagenum: 73; label: 5.3
title: Applying Logic to Mathematics
pagenum: 74; label: 5.4
title: Mathematical Induction
pagenum: 77; label: 5.5
title: Limits of Logic
pagenum: 83; label: 6
title: Program Verification
pagenum: 85; label: 6.1
title: The Idea of Verification
pagenum: 85; label: 6.2
title: Definitions
pagenum: 86; label: 6.3
title: Inference Rules
pagenum: 87; label: 6.4
title: Loop Invariants
pagenum: 92; label: 6.5
title: The Debate About Formal Verification
pagenum: 96; label: 7
title: Logic Programming
pagenum: 99; label: 7.1
title: The Essence of Prolog and Its Relation to Logic
pagenum: 99; label: 7.2
title: Getting Started Using Prolog
pagenum: 101; label: 7.3
title: Database Operations in Prolog
pagenum: 106; label: 7.4
title: The General Form and a Limitation of Prolog
pagenum: 110; label: 7.5
title: How Prolog Works
pagenum: 113; label: 7.6
title: Structures
pagenum: 118; label: 7.7
title: Lists and Recursion
pagenum: 118; label: 7.8
title: Built-In Predicates and Operators
pagenum: 123; label: Part II
title: Language Models for Computer Science
pagenum: 135; label: 8
title: Language and Models
pagenum: 139; label: 8.1
title: Programming Languages and Computer Science
pagenum: 139; label: 8.2
title: Ambiguity and Language Design
pagenum: 140; label: 8.3
title: Formal Languages
pagenum: 143; label: 8.4
title: Operations on Languages
pagenum: 145; label: 8.5
title: Two Levels and Two Language Classes
pagenum: 148; label: 8.6
title: The Questions of Formal Language Theory
pagenum: 150; label: 9
title: Finite Automata and Their Languages
pagenum: 157; label: 9.1
title: Automata: The General Idea
pagenum: 158; label: 9.2
title: Diagrams and Recognition
pagenum: 159; label: 9.3
title: Formal Notation for Finite Automata
pagenum: 164; label: 9.4
title: Finite Automata in Prolog
pagenum: 169; label: 9.5
title: Nondeterminism: The General Idea
pagenum: 171; label: 9.6
title: Nondeterministic Finite Automata
pagenum: 173; label: 9.7
title: Removing Nondeterminism
pagenum: 177; label: 9.8
title: A-Transitions
pagenum: 182; label: 9.9
title: Pattern Matching
pagenum: 186; label: 9.10
title: Regular Languages
pagenum: 188; label: 10
title: Regular Expressions
pagenum: 201; label: 10.1
title: Regular Sets
pagenum: 202; label: 10.2
title: Regular Expressions and What They Represent
pagenum: 204; label: 10.3
title: All Regular Sets Are FA Languages
pagenum: 209; label: 10.4
title: All FA Languages Are Represented by REs
pagenum: 213; label: 11
title: Lex: A Tool for Building Lexical Scanners
pagenum: 223; label: 11.1
title: Overview
pagenum: 223; label: 11.2
title: Lex Operators and What They Do
pagenum: 226; label: 11.3
title: The Structure and Processing of Lex Programs
pagenum: 230; label: 11.4
title: Lex Examples with C
pagenum: 231; label: 11.5
title: States
pagenum: 233; label: 11.6
title: Using Lex in Unix
pagenum: 237; label: 11.7
title: Flex and C++
pagenum: 239; label: 12
title: Context-Free Grammars
pagenum: 245; label: 12.1
title: Limitations of Regular Languages
pagenum: 246; label: 12.2
title: Introduction to Context-Free Grammars
pagenum: 249; label: 12.2.1
title: The Four Parts of a CFG
pagenum: 250; label: 12.2.2
title: Deriving the Strings
pagenum: 250; label: 12.2.3
title: Balanced Parentheses
pagenum: 252; label: 12.3
title: RE Operators in CFGs
pagenum: 254; label: 12.4
title: Structure, Meaning, and Ambiguity
pagenum: 260; label: 12.4.1
title: Modeling Structure for Meaning
pagenum: 260; label: 12.4.2
title: A Grammar of Algebraic Expressions
pagenum: 262; label: 12.5
title: Backus Normal Form and Syntax Diagrams
pagenum: 266; label: 12.5.1
title: Backus Normal Form
pagenum: 266; label: 12.5.2
title: Syntax Diagrams
pagenum: 268; label: 12.6
title: Theory Matters
pagenum: 270; label: 12.6.1
title: Practicing Proving with Palindromes
pagenum: 271; label: 12.6.2
title: Proving That G10 Does the Right Thing
pagenum: 273; label: 13
title: Pushdown Automata and Parsing
pagenum: 279; label: 13.1
title: Visualizing PDAs
pagenum: 280; label: 13.2
title: Standard Notation for PDAs
pagenum: 283; label: 13.3
title: NPDAs for CFG Parsing Strategies
pagenum: 287; label: 13.4
title: Deterministic Pushdown Automata and Parsing
pagenum: 291; label: 13.5
title: Bottom-Up Parsing
pagenum: 295; label: 13.5.1
title: Comparison and Properties
pagenum: 295; label: 13.5.2
title: Design and Construction of the NPDA
pagenum: 296; label: 13.6
title: Pushdown Automata in Prolog
pagenum: 298; label: 13.7
title: Notes on Memory
pagenum: 301; label: 14
title: Turing Machines
pagenum: 305; label: 14.1
title: Beyond Context-Free Languages
pagenum: 306; label: 14.2
title: A Limitation on Deterministic Pushdown Automata
pagenum: 308; label: 14.3
title: Unrestricted Grammars
pagenum: 310; label: 14.4
title: The Turing Machine Model
pagenum: 313; label: 14.5
title: Infinite Sets
pagenum: 316; label: 14.6
title: Universal Turing Machines
pagenum: 319; label: 14.7
title: Limits on Turing Machines
pagenum: 322; label: 14.8
title: Undecidability
pagenum: 324; label: 14.9
title: Church-Turing Thesis
pagenum: 326; label: 14.10
title: Computational Complexity
pagenum: 326; title: Index
pagenum: 336