
Algebraic Semantics of Imperative Programs
Condition: SECONDHAND
This is a secondhand book. The jacket image is indicative only and does not represent the condition of this copy. For information about the condition of this book you can email us.
"Algebraic Semantics of Imperative Programmes" presents a self-contained and novel "executable" introduction to formal reasoning about imperative programmes. The authors' primary goal is to improve programming ability by improving intuition about what programmes mean and how they run. The semantics of imperative programmes is specified in a formal, implemented notation, the language OBJ; this makes the semantics highly rigorous yet simple, and provides support for the mechanical verification of programme properties. OBJ was designed for algebraic semantics; its declarations introduce symbols for sorts and functions, its statements are equations, and its computations are equational proofs. Thus, an OBJ "programme" "is" an equational theory, and every OBJ computation "proves" some theorem about such a theory. This means that an OBJ programme used for defining the semantics of a programme already has a precise mathematical meaning. Moreover, standard techniques for mechanizing equational reasoning can be used for verifying axioms that describe the effect of imperative programmes on abstract machines. These axioms can then be used in mechanical proofs of properties of programmes.
Intended for advanced undergraduates or beginning graduate students, "Algebraic Semantics of Imperative Programmes" contains many examples and exercises in programme verification, all of which can be done in OBJ.
Author: Joseph A. Goguen (University of Ca/San Diego)
Format: Hardback, 240 pages, 180mm x 229mm, 590 g
Published: 1996, MIT Press Ltd, United States
Genre: Computing: Professional & Programming
Interest Age: From 18 to 99 years
Description
"Algebraic Semantics of Imperative Programmes" presents a self-contained and novel "executable" introduction to formal reasoning about imperative programmes. The authors' primary goal is to improve programming ability by improving intuition about what programmes mean and how they run. The semantics of imperative programmes is specified in a formal, implemented notation, the language OBJ; this makes the semantics highly rigorous yet simple, and provides support for the mechanical verification of programme properties. OBJ was designed for algebraic semantics; its declarations introduce symbols for sorts and functions, its statements are equations, and its computations are equational proofs. Thus, an OBJ "programme" "is" an equational theory, and every OBJ computation "proves" some theorem about such a theory. This means that an OBJ programme used for defining the semantics of a programme already has a precise mathematical meaning. Moreover, standard techniques for mechanizing equational reasoning can be used for verifying axioms that describe the effect of imperative programmes on abstract machines. These axioms can then be used in mechanical proofs of properties of programmes.
Intended for advanced undergraduates or beginning graduate students, "Algebraic Semantics of Imperative Programmes" contains many examples and exercises in programme verification, all of which can be done in OBJ.

Algebraic Semantics of Imperative Programs