| Language and Logical Form | |
| Atomic Statements | p. 3 |
| Vagueness and Ambiguity | p. 3 |
| Logical English | p. 4 |
| Names | p. 5 |
| Predicates | p. 6 |
| Descriptions | p. 7 |
| Atomic Statements | p. 8 |
| Compound Statements | p. 13 |
| Truth Functional Connectives | p. 13 |
| Statements with Multiple Connectives | p. 17 |
| Parenthesis Dropping Conventions | p. 18 |
| Quantified Statements | p. 23 |
| Logical Variables | p. 23 |
| Conditions | p. 25 |
| Open Descriptions | p. 27 |
| Quantifiers | p. 28 |
| Expressing Arguments | p. 33 |
| Arguments | p. 33 |
| Deductive and Inductive Arguments | p. 34 |
| Some Practical Suggestions | p. 35 |
| Expressing the Logical Structures of Arguments | p. 38 |
| Defining Data Structures | p. 41 |
| Properties of the Identity Relation | p. 42 |
| Identity is Reflexive, Symmetric, and Transitive | p. 42 |
| Leibniz's Law | p. 42 |
| Defining Data Structures | p. 43 |
| Sets | p. 43 |
| Bags | p. 45 |
| Sequences | p. 46 |
| Relations | p. 47 |
| Functions | p. 48 |
| Stacks | p. 50 |
| 1-Dimensional Arrays | p. 51 |
| Expressing Problem Specifications | p. 53 |
| Functional Problem Specifications | p. 53 |
| What Can Go Wrong with Problem Specifications | p. 55 |
| Expressing Problem Specifications with Logical English | p. 59 |
| Expressing Program Designs | p. 67 |
| Pseudocode for Instructions | p. 67 |
| Atomic Instructions | p. 68 |
| Compound Instructions | p. 68 |
| Pseudocode for Algorithms | p. 71 |
| Material Truth | |
| Truth for Statements with at Most One Connective | p. 79 |
| The Laws of Excluded Middle and Noncontradiction | p. 80 |
| Atomic Statements | p. 80 |
| Truth Functional Connectives | p. 81 |
| Negation | p. 82 |
| Conjunction | p. 82 |
| Disjunction: Inclusive and Exclusive | p. 83 |
| Material Equivalence | p. 83 |
| Material Implication | p. 85 |
| Conditions | p. 86 |
| Quantified Statements | p. 87 |
| Summary of Material Truth Conditions | p. 88 |
| Some Applications | p. 89 |
| Short Cut Evaluation: "cand" and "cor" | p. 89 |
| Bitwise Extensions of Truth Functions | p. 90 |
| Truth for Statements with Multiple Connectives | p. 95 |
| Compound Statements | p. 95 |
| Computing Truth Values of Compound Statements | p. 96 |
| Reducing the Need for Parentheses | p. 98 |
| How to Make Truth Tables for Compound Statements | p. 100 |
| The Four Parts of a Truth Table | p. 100 |
| Organizing a Truth Table Calculation | p. 101 |
| Reading Truth Tables from Right to Left | p. 103 |
| Tracing Program Execution | p. 105 |
| Tracing Program Execution Forwards | p. 105 |
| Event Trace Tables | p. 106 |
| Value Trace Tables | p. 107 |
| Tracing with Complex Conditions | p. 108 |
| Tracing Program Execution Backwards | p. 109 |
| Logical Truth | |
| Truth Functional Forms | p. 115 |
| Overview | p. 115 |
| Truth Functional Forms | p. 117 |
| Interpretations of Truth Functional Forms | p. 118 |
| Truth Under an Interpretation | p. 119 |
| Truth Functional Truth, Falsity, and Contingency | p. 119 |
| Using Forms to Find the Logical Status of English Statements | p. 121 |
| Application to Simplifying Statements and Conditions | p. 124 |
| Truth Functional Properties of Program Designs | p. 129 |
| The General Form of Decision Tables | p. 129 |
| Limited Entry Decision Tables | p. 130 |
| The Basic Form | p. 130 |
| Simplifying Tables with "Don't Care" Condition Entries | p. 131 |
| Extended Entry Decision Tables | p. 133 |
| Decision Tables and Other Control Structures | p. 135 |
| Consistency, Completeness, and Redundancy of Decision Tables | p. 136 |
| Quantified Forms | p. 139 |
| How Truth Functional Logic Differs from Quantificational Logic | p. 139 |
| Well Formed Forms | p. 140 |
| Interpretations of Wffs | p. 142 |
| Truth of Wffs in an Interpretation | p. 143 |
| Logical Truth of Wffs | p. 145 |
| Using Wffs to Determine the Logical Status of English Statements | p. 148 |
| Conditions Revisited | p. 149 |
| Summary of Classifications | p. 151 |
| Logical Equivalence | p. 153 |
| Truth Functional Equivalence | p. 154 |
| Applications of Truth Functional Equivalence | p. 155 |
| Equivalence and Simplification of Program Instructions | p. 155 |
| Equivalence and Simplification of SQL Select Instructions | p. 158 |
| Logical Equivalence | p. 159 |
| Logical Equivalence of Wffs | p. 159 |
| Logical Equivalence of Conditions | p. 160 |
| Applications of Logical Equivalence | p. 163 |
| Simplification of Problem Specifications | p. 163 |
| Detecting Redundancy | p. 163 |
| Logical Implication and Validity | p. 165 |
| Logical Implication and Validity | p. 166 |
| Logical Implication | p. 166 |
| Logical Validity | p. 166 |
| Soundness | p. 166 |
| Determining Validity | p. 169 |
| Degrees of Formality | p. 169 |
| Arguments and Corresponding Conditionals | p. 170 |
| Truth Functional Validity | p. 171 |
| Logical Validity | p. 177 |
| Rules of Inference | p. 181 |
| Limitations of Truth Table Tests | p. 181 |
| Rules of Inference | p. 182 |
| Formal Rules of Inference | p. 182 |
| Correct and Incorrect Rules of Inference | p. 182 |
| Some Truth Functional Rules of Inference | p. 183 |
| Examples of Correct Rules of Inference | p. 183 |
| Some Properties of Rules of Inference | p. 185 |
| Examples of Incorrect Rules of Inference (Formal Fallacies) | p. 188 |
| Proof | p. 189 |
| Kinds of Proof | p. 190 |
| Different Senses of Proof | p. 190 |
| Formal vs Informal Proofs | p. 190 |
| Two Ways of Organizing Proofs | p. 191 |
| Three Proof Strategies | p. 193 |
| Direct Proof | p. 193 |
| Conditional Proof | p. 195 |
| Indirect Proof | p. 196 |
| Applying Logic to Specific Subjects | p. 198 |
| Using Instances Of General Forms | p. 198 |
| Adding Nonlogical Justifications | p. 199 |
| Algorithmic Unsolvability Proofs | p. 203 |
| Algorithmic Solvability and Unsolvability | p. 203 |
| The Halting Problem is Algorithmically Unsolvable | p. 207 |
| Other Algorithmically Unsolvable Problems | p. 208 |
| Program Correctness Proofs | p. 211 |
| The Limits of Testing | p. 211 |
| Proofs Expressed in English Prose | p. 212 |
| Proofs Using Floyd's Method of Invariant Assertions | p. 216 |
| Rules of Inference Involving Algorithms | p. 219 |
| Notation for Statements Involving Instructions | p. 220 |
| The Assignment Rule | p. 220 |
| Rules of Inference about Control Structures | p. 222 |
| Proofs Using Rules of Inference | p. 224 |
| Above and Beyond this Book | p. 233 |
| Other Texts on Classical Logic | p. 234 |
| Standard Texts | p. 234 |
| Computer Oriented Texts | p. 234 |
| Extensions of Classical Logic | p. 234 |
| Floyd-Hoare Logic | p. 234 |
| Temporal, Modal, and Dynamic Logics | p. 235 |
| Rivals to Classical Logic | p. 235 |
| Applications of Logic to Computing or Computing to Logic | p. 235 |
| Logic Circuits | p. 235 |
| 3-Valued Logic and SQL | p. 235 |
| More on Expressing and Using Specifications | p. 235 |
| Logic Testing of Software | p. 236 |
| Computability and Algorithmic Unsolvability | p. 236 |
| AI and Computer Aided Reasoning | p. 236 |
| Quantum Computing and Programming | p. 237 |
| Programming Challenges | p. 237 |
| Solutions to Selected Exercises | p. 241 |
| Chapter 1 | p. 241 |
| Chapter 2 | p. 243 |
| Chapter 3 | p. 246 |
| Chapter 4 | p. 249 |
| Chapter 5 | p. 251 |
| Chapter 6 | p. 254 |
| Chapter 7 | p. 257 |
| Chapter 8 | p. 259 |
| Chapter 9 | p. 261 |
| Chapter 10 | p. 265 |
| Chapter 11 | p. 270 |
| Chapter 12 | p. 274 |
| Chapter 13 | p. 277 |
| Chapter 14 | p. 280 |
| Chapter 15 | p. 286 |
| Chapter 16 | p. 291 |
| Chapter 17 | p. 293 |
| Chapter 18 | p. 299 |
| Chapter 19 | p. 300 |
| Sources and Bibliography | p. 305 |
| Index | p. 309 |
| Table of Contents provided by Ingram. All Rights Reserved. |