Read more
Not very long ago, the uninhibited use of mathematics in thedevelopment of software was regarded as something foracademics alone. Today, there is moreand more interestfrom industry in formal methods based on mathematics. Thisinterest has come from the success of a number ofexperiments on real industrial applications. Thus, there isnot only a belief, but also evidence, that the study ofcomputer programs as mathematical objects leads to moreefficient methods for constructing them.The papers in this volume were presented at the SecondInternational Conference on the Mathematics of ProgramConstruction, held at St. Catherine's College, Oxford, June29 - July 3, 1992. The conference was organized by theOxford University Programming Research Group, and continuedthe theme set by the first - the use of crisp, clearmathematics in the discovery and design of algorithms. Thesecond conference gives evidence of the ever-widening impactof precise mathematical methods in program development.There are papers applying mathematics not only to sequentialprograms but also to parallel and on-current applications,real-time and reactive systems, and to designs realiseddirectly in hardware. The volume includes 5 invited papersand 19 contributed papers.
List of contents
Extended calculus of constructions as a specification language.- On the economy of doing Mathematics.- Pretty-printing: An exercise in functional programming.- True concurrency: Theory and practice.- Programming for behaviour.- Calculating a path algorithm.- Solving optimisation problems with catamorphisms.- A time-interval calculus.- Conservative fixpoint functions on a graph.- An algebraic construction of predicate transformers.- Upwards and downwards accumulations on trees.- Distributing a class of sequential programs.- (Relational) programming laws in the boom hierarchy of types.- A logarithmic implementation of flexible arrays.- Designing arithmetic circuits by refinement in Ruby.- An operational semantics for the guarded command language.- Shorter paths to graph algorithms.- Logical specifications for functional programs.- Inorder traversal of a binary heap and its inversion in optimal time and space.- A calculus for predicative programming.- Derivation of a parallel matching algorithm.- Modular reasoning in an object-oriented refinement calculus.- An alternative derivation of a binary heap construction function.- A derivation of Huffman's algorithm.
About the author
Richard Bird is Professor of Computer Science at Oxford University Computing Laboratory.