
Elementary Logic : For Software Development
For Software Development
By: Robert Lover
Paperback | 1 August 2008
At a Glance
328 Pages
23.5 x 15.24 x 1.91
Paperback
$64.99
or 4 interest-free payments of $16.25 with
orShips in 5 to 7 business days
The ability to reason correctly is critical to most aspects of computer science and to software development in particular. Since logic is the discipline concerned with the general rules and criteria of correct reasoning anyone involved with computer science and software development will benefit from studying logic and its applications to computing.
Features: Covers elementary logic and its application to most stages of software development, discusses the application of logic to the English language, as software development begins usually with problems described by end users in ordinary English, emphasizes truth functional logic as well as quantificational logic, includes various examples and exercises to enable independent self-study.
This book provides a reader friendly foundation and offers valuable insight into the topic, serving as a helpful reference for practitioners and advanced students involved with software development.
Industry Reviews
| 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. |
ISBN: 9781848000810
ISBN-10: 1848000812
Published: 1st August 2008
Format: Paperback
Language: English
Number of Pages: 328
Audience: College, Tertiary and University
Publisher: Springer Nature B.V.
Country of Publication: GB
Dimensions (cm): 23.5 x 15.24 x 1.91
Weight (kg): 0.48
Shipping
| Standard Shipping | Express Shipping | |
|---|---|---|
| Metro postcodes: | $9.99 | $14.95 |
| Regional postcodes: | $9.99 | $14.95 |
| Rural postcodes: | $9.99 | $14.95 |
Orders over $79.00 qualify for free shipping.
How to return your order
At Booktopia, we offer hassle-free returns in accordance with our returns policy. If you wish to return an item, please get in touch with Booktopia Customer Care.
Additional postage charges may be applicable.
Defective items
If there is a problem with any of the items received for your order then the Booktopia Customer Care team is ready to assist you.
For more info please visit our Help Centre.
You Can Find This Book In

Architecture Patterns with Python
Enabling Test-Driven Development, Domain-Driven Design, and Event-Driven Microservices
Paperback
RRP $125.75
$60.99
OFF

Fundamentals of DevOps and Software Delivery
A Hands-On Guide to Deploying and Managing Software in Production
Paperback
RRP $133.00
$64.75
OFF






















