Elementary Logic: For Software Development by Robert Lover

By Robert Lover

The skill to cause properly is necessary to so much points of machine technology and to software program improvement specifically. This publication teaches readers how you can higher cause approximately software program improvement, to speak reasoning, to tell apart among reliable and undesirable reasoning, and to learn specialist literature that presumes wisdom of easy common sense. It explains primary thoughts and gives reader-friendly directions for employing good judgment to software program development

Part I explains how to define and signify the logical kinds of statements expressed in English. half II describes the best way to use fact tables to figure out the reality or falsity of a fancy assertion. the ultimate half discusses logical fact and explains easy methods to attempt statements for logical equivalence, implication and redundancy, in addition to tips on how to attempt arguments for validity and soundness. It additionally explains tips on how to use ideas of inference to make proofs of software correctness. this helpful text/reference emphasizes purposes of common sense to software program improvement throughout.


• Covers basic common sense and its program to such a lot levels of software program development

• Expresses examples in pseudocode, in order that no specific programming language is used

• offers quite a few examples and workouts facilitating reader self-assessment and autonomous self-study

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

• offers internet assets akin to suggestions for all routines and supplementary information

• Emphasizes the adaptation among valuable and over the top use of formal notation

• Written from classification proven educating fabric confirmed to be sincerely understandable

Key topics:

• Expressing challenge Specifications

• Expressing application Designs

• utilizing fact Functions

• Interpretations for Quantified Statements

• checks for Logical houses of Statements

• Simplifying Statements and Instructions

• principles of Inference for keep an eye on Structures

• application Correctness Proofs

Since common sense is the self-discipline focused on normal principles and standards of right reasoning, these concerned with desktop technology and software program improvement will profit vastly from utilizing this ebook. It presents a reader-friendly beginning to common sense and gives useful perception into the subject, thereby serving as a invaluable reference for practitioners, in addition to scholars learning software program development.

Robert Lover has been a software program developer, has created and taught expert improvement classes for Harvard college, and has taught classes on good judgment and software program improvement at numerous different schools and universities. he's at present chair of the Belmont Abbey university laptop stories Department.

Show description

Read Online or Download Elementary Logic: For Software Development PDF

Similar microprocessors & system design books

Designing Embedded Systems with PIC Microcontrollers: Principles and Applications

This e-book is a hands-on advent to the foundations and perform of embedded procedure layout utilizing the PIC microcontroller. choked with valuable examples and illustrations, it supplies an in-depth therapy of microcontroller layout, programming in either meeting language and C, and lines complex themes corresponding to networking and real-time working platforms.

Logic and Language Models for Computer Science

This article makes in-depth explorations of a extensive diversity of theoretical issues in computing device technological know-how. It plunges into the functions of the summary thoughts in an effort to confront and deal with the skepticism of readers, and instill in them an appreciation for the usefulness of concept. A two-part presentation integrates common sense and formal language—both with purposes.

Additional resources for Elementary Logic: For Software Development

Example text

If the argument is simple then use the format shown in Examples 13 and 14. If the argument is compound then use the tree structure shown in Example 17. (a) Since today is Monday, tomorrow must be Tuesday. (b) Since today is Monday, tomorrow must be Friday. (c) It will probably rain here soon, since the sky is dark and it is raining just west of here. (d) A = 3. B = 5. Therefore A + B = 8. (e) Since the file is sorted, it must be in ascending or descending order. It is not in ascending order. Hence it is in descending order.

Contexts like this that involve what people believe, hope, fear, etc. all give rise to apparent counterexamples to Leibniz’s law. 2 Defining Data Structures 43 Tom Sawyer is not a property of the person sometimes called Mark Twain, it is a property of me. Only extensional contexts, in which such confusing issues do not arise, will be considered here. 2 Defining Data Structures A data structure is defined by specifying the type of data it is composed of, how this data is organized, the basic operations that are allowed to be performed on that data, and the relations that must be maintained when those operations are performed.

E) The relation sqrt, where ∈ sqrt if and only if y is a square root of x, is not a functional relation, since both <16, 4> and <16, -4> are elements of sqrt. e. y = x + 1. So s(x) = x + 1. g. <1, 3, 5> can be thought of as <<1, 3>, 5>. g. <1, 2, 3, 4> can be thought of as <<<1, 2>, 3>, 4>. In general, an ordered n-tuple can be thought of as an ordered pair whose first term is an ordered (n-1)-tuple. As a result, functions with any number of inputs (also called arguments) are included in the definition above.

Download PDF sample

Rated 4.15 of 5 – based on 46 votes