Skip to main content
  • Textbook
  • © 2008

Elementary Logic

For Software Development

Authors:

  • Reveals usefulness of logic's applications in software development through its applications

  • The reader’s knowledge and understanding can be assessed through numerous examples and exercises

  • Derived from teaching material that has been proved to be clearly understandable

  • Containing a wealth of exercises, it is superbly balanced for professionals and students

  • Includes supplementary material: sn.pub/extras

  • Request lecturer material: sn.pub/lecturer-material

Buying options

eBook USD 44.99
Price excludes VAT (USA)
  • ISBN: 978-1-84800-082-7
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book USD 59.99
Price excludes VAT (USA)

This is a preview of subscription content, access via your institution.

Table of contents (20 chapters)

  1. Front Matter

    Pages i-xiv
  2. Language and Logical Form

    1. Front Matter

      Pages 1-1
    2. Atomic Statements

      • Robert Lover
      Pages 3-12
    3. Compound Statements

      • Robert Lover
      Pages 13-21
    4. Quantified Statements

      • Robert Lover
      Pages 23-31
    5. Expressing Arguments

      • Robert Lover
      Pages 33-40
    6. Defining Data Structures

      • Robert Lover
      Pages 41-52
    7. Expressing Problem Specifications

      • Robert Lover
      Pages 53-66
    8. Expressing Program Designs

      • Robert Lover
      Pages 67-75
  3. Material Truth

    1. Front Matter

      Pages 78-78
    2. Tracing Program Execution

      • Robert Lover
      Pages 105-112
  4. Logical Truth

    1. Front Matter

      Pages 114-114
    2. Truth Functional Forms

      • Robert Lover
      Pages 115-127
    3. Quantified Forms

      • Robert Lover
      Pages 139-151
    4. Logical Equivalence

      • Robert Lover
      Pages 153-164
    5. Logical Implication and Validity

      • Robert Lover
      Pages 165-179
    6. Rules of Inference

      • Robert Lover
      Pages 181-188

About this book

The ability to reason correctly is critical to most aspects of computer science and to software development in particular. This book teaches readers how to better reason about software development, to communicate reasoning, to distinguish between good and bad reasoning, and to read professional literature that presumes knowledge of elementary logic. It explains fundamental concepts and provides reader-friendly instructions for applying logic to software development

Part I explains how to find and represent the logical forms of statements expressed in English. Part II describes how to use truth tables to determine the truth or falsity of a complex statement. The final part discusses logical truth and explains how to test statements for logical equivalence, implication and redundancy, as well as how to test arguments for validity and soundness. It also explains how to use rules of inference to make proofs of program correctness. This useful text/reference emphasizes applications of logic to software development throughout.

Features:

• Covers elementary logic and its application to most stages of software development

• Expresses examples in pseudocode, so that no particular programming language is used

• Provides numerous examples and exercises facilitating reader self-assessment and independent self-study

• Emphasizes truth-functional and quantificational logic, and introduces Floyd-Hoare logic

• Supplies web resources such as solutions for all exercises and supplementary information

• Emphasizes the difference between helpful and excessive use of formal notation

• Written from class tested teaching material proven to be clearly understandable

Key topics:

• Expressing Problem Specifications

• Expressing Program Designs

• Using Truth Functions

• Interpretations for Quantified Statements

• Tests for Logical Properties of Statements

• Simplifying Statements and Instructions

• Rules of Inference for Control Structures

• Program Correctness Proofs

Since logic is the discipline concerned with general rules and criteria of correct reasoning, those involved in computer science and software development will benefit greatly from using this book. It provides a reader-friendly foundation to logic and offers valuable insight into the topic, thereby serving as a helpful reference for practitioners, as well as students studying software development.

Robert Lover has been a software developer, has created and taught professional development courses for Harvard University, and has taught courses on logic and software development at several other colleges and universities. He is currently chair of the Belmont Abbey College Computer Studies Department.

Keywords

  • Algorithms
  • algorithm
  • data structure
  • data structures
  • design
  • logic
  • programming
  • programming language

Reviews

From the reviews:

"Logic deserves to be more widely taught on its merits, not just as a byproduct of special needs. This book does exactly that. The author aims the book at software developers and computer science students, but it could very well be used in other settings, as well. … used by teachers and instructors in a variety of settings, according to personal interest or departmental needs. … The book is well organized and well written. … I liked the book and I recommend it." (Edgar R. Chavez, ACM Computing Reviews, April, 2009)

Authors and Affiliations

  • Charlotte

    Robert Lover

Bibliographic Information

Buying options

eBook USD 44.99
Price excludes VAT (USA)
  • ISBN: 978-1-84800-082-7
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book USD 59.99
Price excludes VAT (USA)