## (Relational) Programming Laws in the Boom Hierarchy of Types (1992)

Venue: | Mathematics of Program Construction |

Citations: | 9 - 1 self |

### BibTeX

@INPROCEEDINGS{Hoogendijk92(relational)programming,

author = {Paul F. Hoogendijk},

title = {(Relational) Programming Laws in the Boom Hierarchy of Types},

booktitle = {Mathematics of Program Construction},

year = {1992},

pages = {163--190},

publisher = {Springer Verlag}

}

### OpenURL

### Abstract

. 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...

### Citations

1344 | Introduction to Functional Programming
- Bird, Wadler
(Show Context)
Citation Context ...n imp is necessary. Property (k) is called the range translation rule for conditionals. 2.3 Definition of Filters The definition of filter is borrowed directly from the work of Meertens [22] and Bird =-=[10]: Definiti-=-on 34 (Filter) For right-condition p, /p = =j ffis(!p?") 2 Note that from the fact thatsand " are imps and the fact that conditionals, junc and catamorphisms respect imps it follows that /p ... |

469 |
Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs
- Backus
- 1978
(Show Context)
Citation Context ...d argument in that order. Thus we write =S and read "reduce with S" or just "reduce S". (In choosing to write reduce as a prefix operator we are turning the clock back to Backus' T=-=uring award lecture [7]-=- rather than following the example of Bird and Meertens. In the context of Bird and Meertens' original work reduce was a binary infix operator with argument a pair consisting of a binary operator, say... |

228 |
A Programming Language
- Iverson
- 1962
(Show Context)
Citation Context ...ators in the theory - "reduce", "map" and "filter". (Actually, the names used by Meertens for the first two of these operators were "inserted-in" and "appl=-=ied-to-all" in line with Backus [7]; Iverson [20] used the name -=-"reduce". Moreover, just the first two are primitive since filter is defined in terms of reduce and map.) These operators are defined at each level of a hierarchy of types called the "B... |

220 | An Introduction to the Theory of Lists
- Bird
- 1987
(Show Context)
Citation Context ...s 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 derives from-=- the small scale of the theory itself compared with the large scale of applications. Essentially there are just three primitive operators in the theory - "reduce", "map" and "... |

96 |
Algorithmics — towards programming as a mathematical activity
- Meertens
- 1986
(Show Context)
Citation Context ...rogram 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&q=-=uot; (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 [1... |

84 |
Algebraic Data Types and Program Transformation
- Malcolm
- 1990
(Show Context)
Citation Context ...s a point iff x is an impsx = x ffi ?? 2 As mentioned above, points are constant functions: applied to an arbitrary element they always return the same element. We also need the following shorthands: =-=(21)-=- R\Omega S =\Omega ffi R 4 S (22) R\Omega S = (R ffi )\Omega (S ffi AE) =\Omega ffi R \Theta S For R\Omega S we have by split-imp fusion (10): R\Omega S ffi f = (R ffi f)\Omega (S ffi f) , for imp f (... |

44 |
Program Construction and Verification
- Backhouse
- 1986
(Show Context)
Citation Context ...lse : R:i) = true 9(i : false : R:i) = false Note that the proof given here is valid for trees (and thus also if the catamorphism respects lists, bags or sets). This is an improvement over the one in =-=[2]-=- since there the range splitting rule was used but that rule is only valid for bags and hence also for sets. 5.2 Associativity and Symmetry Throughout this section we assume the existence of an associ... |

42 |
A calculus of functions for program derivation
- Bird
- 1990
(Show Context)
Citation Context ...s 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 derives from-=- the small scale of the theory itself compared with the large scale of applications. Essentially there are just three primitive operators in the theory - "reduce", "map" and "... |

37 | Elements of a relational theory of datatypes
- Backhouse, Hoogendijk
(Show Context)
Citation Context ...ssion of the "Bird-Meertens formalism" can be found. This report was the starting point for the present paper. We start with a brief introduction to a relational calculus of datatypes as des=-=cribed in [4, 6]-=-. Thereafter, we define the so-called binary structures; also we define the map, reduce and filter operators in our system. Before we start with the original Boom hierarchy where laws play an importan... |

32 | An exploration of the Bird-Meertens formalism
- Backhouse
- 1989
(Show Context)
Citation Context ... complex numbers. The fact of the matter is that we are rarely aware of working with relations rather than functions. The following pages are intended to provide some justification for that claim. In =-=[1] a rigorou-=-s discussion of the "Bird-Meertens formalism" can be found. This report was the starting point for the present paper. We start with a brief introduction to a relational calculus of datatypes... |

21 |
Formal derivation of a pattern matching algorithm
- Bird, Gibbons, et al.
- 1989
(Show Context)
Citation Context ...s 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 derives from-=- the small scale of the theory itself compared with the large scale of applications. Essentially there are just three primitive operators in the theory - "reduce", "map" and "... |

17 |
et al.: Laws of programming
- Hoare
- 1987
(Show Context)
Citation Context ...re of programming languages. Several publications have already appeared documenting the algebraic properties of conditionals, the most comprehensive account that we know of being given by Hoare et al =-=[17]-=-. In order to be able to define conditionals we need to have the complement of monotypes. We achieve this in a slightly roundabout way. That is to say, we consider the right domains of so-called right... |

13 |
Two exercises found in a book on algorithmics
- Bird, Meertens
- 1987
(Show Context)
Citation Context |

10 |
Transformational programming and the paragraph problem
- Bird
- 1986
(Show Context)
Citation Context |

10 |
Een methode van programmeren
- Dijkstra, Feijen
- 1984
(Show Context)
Citation Context ...d, 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 extensionalit... |

10 |
A couple of novelties in the propositional calculus. Zeitschrift für mathematische Logik und Grundlagen der Mathematik 31(2
- Hoare
- 1985
(Show Context)
Citation Context ... write true instead of ?? and false instead of ??. We define: Definition 32 (Conditional) For all right conditions p we define the binary operator !p? by: R!p?S = R ffi p ? t S ffi (:p) ? 2 Notes: In =-=[16]-=- Hoare defines conditionals, although for propositions, as follows, P!Q?R = (P uQ) t (R u :Q) Note that our definition corresponds to Hoare's definition because R ffi p ? t S ffi (:p) ? = (Ru p) t (S ... |

8 |
Relationen und Grafen
- Schmidt, Strohlein
- 1988
(Show Context)
Citation Context ...or pedagogic reasons we prefer to decompose the algebra into three layers with their interfaces and two special axioms. The algebra is, nevertheless, well known and can also be found in, for example, =-=[23]-=-. Let A be a set, the elements of which are to be called specs (from specification). We use identifiers R, S, etc., to denote specs. On A we impose the structure of a complete, completely distributive... |

4 |
Calculation by computer
- Chisholm
- 1990
(Show Context)
Citation Context ...operties of F is that F is a monotype (see [5, 6]). One can view F as the recursively defined type corresponding to the relator F . For F we have the following four constructors: (13)s= F ffi ,! = ,! =-=(14)-=- j = F ffi /- = /- ffi 11 + F \Theta F (15) 2 = F ffi /- ffi ,! = /- ffi ,! ffi 11 (16) ++ = F ffi /- ffi /- = /- ffi /- ffi F \Theta F Informally stated,sis the singleton constructor: from an element... |

4 |
Pers as types, inductive types and types with laws
- Voermans
- 1991
(Show Context)
Citation Context ...ation to be associative, symmetric or idempotent; also we give a definition for sectioning and units. Next we define the original Boom-hierarchy in our system. Many properties from E. Voermans' paper =-=[24]-=- will be used. That paper describes how laws can be incorporated into the relational calculus. Finally, we relate the formalism to the quantifier calculus. We prove rules like range translation, tradi... |

3 |
Elements of a relational theory of datatypes. To appear. Presented at IFIP Working Group 2.1 state of the art summer school, Itacuruc'a Island
- Backhouse, Hoogendijk
- 1992
(Show Context)
Citation Context ...etric and idempotent. Meertens describes the D-structures as "about the poorest (i.e., in algebraic laws) possible algebra" and trees as "about the poorest-but-one possible algebra"=-=;. Nevertheless, in [3] we e-=-xploit the power of abstraction afforded by the notion of a so-called relator (a relator is a generalization of a functor) to add several more levels to the Boom hierarchy each of which is "poore... |

2 |
The Boom hierarchy
- Hoogendijk
- 1991
(Show Context)
Citation Context ...2]) 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 b... |

1 |
der Woude. Polynomial relators. To appear in
- Backhouse, Bruin, et al.
(Show Context)
Citation Context ...ssion of the "Bird-Meertens formalism" can be found. This report was the starting point for the present paper. We start with a brief introduction to a relational calculus of datatypes as des=-=cribed in [4, 6]-=-. Thereafter, we define the so-called binary structures; also we define the map, reduce and filter operators in our system. Before we start with the original Boom hierarchy where laws play an importan... |

1 |
A Hierarchy of Freebies
- Hoogendijk
(Show Context)
Citation Context ...2]) 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 b... |