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 shortest-path algorithm, another being breadth-first/depth-first search of a directed graph. The basis for the derivation is the algebra of regular languages. 1 Problem Statement ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
. A calculational derivation is given of an abstract path algorithm, one instance of the algorithm being Dijkstra's shortest-path algorithm, another being breadth-first/depth-first search of a directed graph. The basis for the derivation is the algebra of regular languages. 1 Problem Statement Given is a (non-empty) 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 so-called "Bird-Meertens ..."
Abstract
-
Cited by 8 (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 so-called "Bird-Meertens formalism" (see [22]) and the "Dijkstra-Feijen 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 so-called crossproduct. 1 Introduction The "Bird-Meertens 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 On-Line 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. Structure-editing 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. Structure-editing features enable the use of Matsad to perform symbolic calculations, in non-standard algebras, directly on-screen. 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...

