Unifying Theories of ProgrammingThis 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. |
Contents
The Challenge of Unification | 1 |
vi | 13 |
The Logic of Engineering Design | 26 |
Copyright | |
14 other sections not shown
Common terms and phrases
abstract ACP processes action algebraic laws alphabet applied assignment atomic actions behaviour bisimulation buffer C.A.R. Hoare calculation 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 inequations initial value interleaving jump label Lemma logic programming machine code mathematical merge operation monotonic monotonic function non-determinism non-deterministic notation observation operands operational semantics P₁ P₂ parallel composition parameter postcondition predicate calculus predicates describing procedure programming language Proof properties propositional calculus prove reasoning recursion refinement calculus relation restricted result satisfies Section sequence sequential composition shared variable SKIP specification step subset synchronisation terminate Theorem theory of programming tion true updates wait weakest fixed point