Unifying Theories of Programming
This book provides a synthesis of the theory of programming. It aims to use mathematical theory of programming to provide a similar basis for specification, design and implementation of programs. It is wide ranging both in its subject matter and also in its approach and style.
The first five chapters justify and introduce the main concepts and methods to be used within the text, relating the goal of unification to the achievements of other branches of science and mathematics. The remaining chapters introduce more advanced programming language features one by one. The main methods of programming are summarised and concluded in a manner suitable for those already familiar with programming semantics. Definitions are accompanied by examples and the theorems by meticulous proof.
What people are saying - Write a review
We haven't found any reviews in the usual places.
The Challenge of Unification
The Logic of Engineering Design
11 other sections not shown
ACP processes action algebraic laws alphabet applied assembly assignment atomic actions behaviour bisimulation buffer calculation called Chapter choice clock complete lattice components concurrent conjunction data flow process declaration defined definition denotational semantics disjoint disjunction engineering equation event example execution existential quantification expressed false final value free variables function Galois connection healthiness conditions idempotent implementation implication inequations initial value interleaving jump label Lemma logic programming machine code mathematical merge operation monotonic monotonic function non-determinism non-deterministic notations observation operands operational semantics paradigm parallel composition parameter possible postcondition predicate calculus predicates describing procedure programming language Proof properties propositional calculus prove reasoning recursion refinement calculus relation requires restricted result satisfies Section sequence sequential composition shared variables SKIP specification step subset synchronisation terminate Theorem theory of programming tion true universally quantified updates valid wait weakest fixed point