Results 1 
4 of
4
Calculating A Path Algorithm
 Science of Computer Programming
, 1992
"... . A calculational derivation is given of an abstract path algorithm, one instance of the algorithm being Dijkstra's shortestpath algorithm, another being breadthfirst/depthfirst search of a directed graph. The basis for the derivation is the algebra of regular languages. 1 Problem Statement ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
. A calculational derivation is given of an abstract path algorithm, one instance of the algorithm being Dijkstra's shortestpath algorithm, another being breadthfirst/depthfirst search of a directed graph. The basis for the derivation is the algebra of regular languages. 1 Problem Statement Given is a (nonempty) set N and a j N j \Theta j N j matrix A, the rows and columns of which are indexed by elements of N . It is assumed that the matrix elements are drawn from a regular algebra 1 (S; +; \Delta; ; 0; 1) having the two additional properties that the ordering induced 2 by + is a total ordering (1) on the elements of S; and 1 is the largest element in the ordering: (2) In addition to N and A, one is given a 1\Theta j N j matrix b. Hereafter 1\Theta j N j matrices will be called "vectors", 1 \Theta 1 matrices will be called "elements" and j N j \Theta j N j matrices will be called "matrices". The problem is to derive an algorithm to compute the vector b \Delta A wher...
(Relational) Programming Laws in the Boom Hierarchy of Types
 Mathematics of Program Construction
, 1992
"... . In this paper we demonstrate that the basic rules and calculational techniques used in two extensively documented program derivation methods can be expressed, and, indeed, can be generalised within a relational theory of datatypes. The two methods to which we refer are the socalled "BirdMeertens ..."
Abstract

Cited by 9 (1 self)
 Add to MetaCart
. In this paper we demonstrate that the basic rules and calculational techniques used in two extensively documented program derivation methods can be expressed, and, indeed, can be generalised within a relational theory of datatypes. The two methods to which we refer are the socalled "BirdMeertens formalism" (see [22]) and the "DijkstraFeijen calculus" (see [15]). The current paper forms an abridged, though representative, version of a complete account of the algebraic properties of the Boom hierarchy of types [19, 18]. Missing is an account of extensionality and the socalled crossproduct. 1 Introduction The "BirdMeertens formalism" (to be more precise, our own conception of it) is a calculus of total functions based on a small number of primitives and a hierarchy of types including trees and lists. The theory was set out in an inspiring paper by Meertens [22] and has been further refined and applied in a number of papers by Bird and Meertens [8, 9, 11, 12, 13]. Its beauty deriv...
Mathpad: A System for OnLine Preparation of Mathematical Documents
 CAB
, 1995
"... this document at your computer terminal are included in the final section. ..."
Abstract
 Add to MetaCart
this document at your computer terminal are included in the final section.
Tool Support for the Calculational Method
 University of York
, 1996
"... Matsad is a structure editor designed to facilitate the integration of doing mathematics and writing about it. The principal element of Matsad is a system for defining and using "stencils" which define the visual and logical structure of notational elements in a document. Structureediting featur ..."
Abstract
 Add to MetaCart
Matsad is a structure editor designed to facilitate the integration of doing mathematics and writing about it. The principal element of Matsad is a system for defining and using "stencils" which define the visual and logical structure of notational elements in a document. Structureediting features enable the use of Matsad to perform symbolic calculations, in nonstandard algebras, directly onscreen. This paper discusses the considerations that influenced the design of Matsad. Particular attention is given to a discussion of the priorities that guided the system's design. A brief review of the stencil mechanism is presented. Engineering design is about creating artefacts that fulfil a need to the best of the ability of current technology. Good design involves insightful decisions on what is important, and what should be given priority. In this paper we present a personal assessment of the needs of those involved in the development of the mathematics of program construction. We...