Roland Backhouse | University of Nottingham (original) (raw)
Papers by Roland Backhouse
Journal of Functional Programming, 2024
An equivalence relation can be constructed from a given (homogeneous, binary) relation in two ste... more An equivalence relation can be constructed from a given (homogeneous, binary) relation in two steps: first, construct the smallest reflexive and transitive relation containing the given relation (the "star" of the relation) and, second, construct the largest symmetric relation that is included in the result of the first step. The fact that the final result is also reflexive and transitive (as well as symmetric), and thus an equivalence relation, is not immediately obvious, although straightforward to prove. Rather than prove that the defining properties of reflexivity and transitivity are satisfied, we establish reflexivity and transitivity constructively by exhibiting a starth root-in a way that emphasises the creative process in its construction. The resulting construction is fundamental to algorithms that determine the strongly connected components of a graph as well as the decomposition of a graph into its strongly connected components together with an acyclic graph connecting such components.
Mathematics of Program Construction, 2008
Page 1. The Capacity-C Torch Problem Roland Backhouse School of Computer Science University of No... more Page 1. The Capacity-C Torch Problem Roland Backhouse School of Computer Science University of Nottingham, Nottingham NG8 1BB, England rcb@cs.nott.ac. uk Abstract. The torch problem (also known as the bridge problem ...
Theory of Computing Systems, 2007
Datatype-generic programs are programs that are parameterised by a datatype. We review the allego... more Datatype-generic programs are programs that are parameterised by a datatype. We review the allegorical foundations of a methodology of designing datatype-generic programs. The notion of F-reductivity, where F parametrises a datatype, is reviewed and a number of its properties are presented. The properties are used to give concise, effective proofs of termination of a number of datatype-generic programming schemas. The paper concludes with a concise proof of the well-foundedness of a datatype-generic occurs-in relation.
arXiv (Cornell University), Jan 30, 2024
More than 70 years ago, Jaques Riguet suggested the existence of an "analogie frappante" (strikin... more More than 70 years ago, Jaques Riguet suggested the existence of an "analogie frappante" (striking analogy) between so-called "relations de Ferrers" and a class of difunctional relations, members of which we call "diagonals". Inspired by his suggestion, we formulate an "analogie frappante" linking the notion of a block-ordered relation and the notion of the diagonal of a relation. We formulate several novel properties of the core/index of a diagonal, and use these properties to rephrase our "analogie frappante". Loosely speaking, we show that a block-ordered relation is a provisional ordering up to isomorphism and reduction to its core. (Our theorems make this informal statement precise.) Unlike Riguet (and others who follow his example), we avoid almost entirely the use of nested complements to express and reason about properties of these notions: we use factors (aka residuals) instead. The only (and inevitable) exception to this is to show that our definition of a "staircase" relation is equivalent to Riguet's definition of a "relation de Ferrers". Our "analogie frappante" also makes it obvious that a "staircase" relation is not necessarily block-ordered, in spite of the mental picture of such a relation presented by Riguet.
arXiv (Cornell University), Jan 30, 2024
arXiv (Cornell University), Oct 12, 2023
An equivalence relation can be constructed from a given (homogeneous, binary) relation in two ste... more An equivalence relation can be constructed from a given (homogeneous, binary) relation in two steps: first, construct the smallest reflexive and transitive relation containing the given relation (the "star" of the relation) and, second, construct the largest symmetric relation that is included in the result of the first step. The fact that the final result is also reflexive and transitive (as well as symmetric), and thus an equivalence relation, is not immediately obvious, although straightforward to prove. Rather than prove that the defining properties of reflexivity and transitivity are satisfied, we establish reflexivity and transitivity constructively by exhibiting a particular starth root-in a way that emphasises the creative process in its construction. The constructed starth root is fundamental to algorithms that determine the strongly connected components of a graph as well as the decomposition of a graph into its strongly connected components together with an acyclic graph connecting such components.
Lecture Notes in Computer Science, 1999
Lecture Notes in Computer Science, Aug 12, 2008
The version presented here may differ from the published version or from the version of record. I... more The version presented here may differ from the published version or from the version of record. If you wish to cite this item you are advised to consult the publisher's version. Please see the repository url above for details on accessing the published version and note that access may require a subscription.
Journal of logical and algebraic methods in programming, Jun 1, 2023
Springer eBooks, 1998
This volume contains the papers selected for presentation at the 4th International Conference on ... more This volume contains the papers selected for presentation at the 4th International Conference on Mathematics of Program Construction (MPC'98), which was held June 15-17, 1998 on the island Marstrand near GSteborg in Sweden. The general theme of this series of conferences is the use of crisp, clear mathematics in the discovery and design of algorithms and in the development of corresponding software or hardware. The conference theme reflects the growing interest in formal, mathematically based methods for the construction of software and hardware. The goal of the MPC conferences is to report on and significantly advance the state of the art in this area. Previous conferences were held in 1989 at Twente, The Netherlands, organized by the Rijksuniversiteit Groningen, in 1992 at Oxford, United Kingdom, and in 1995 at Kloster Irsee, Germany, organized by Augsburg University. The proceedings of these conferences were published as LNCS 375, 669, and 947, respectively. The program committee received 57 submissions, from which 17 were selected for presentation at the conference. Invited lectures were presented by David Harel, John Hughes, and Burghard von Karger.
Journal of Functional Programming, 2024
An equivalence relation can be constructed from a given (homogeneous, binary) relation in two ste... more An equivalence relation can be constructed from a given (homogeneous, binary) relation in two steps: first, construct the smallest reflexive and transitive relation containing the given relation (the "star" of the relation) and, second, construct the largest symmetric relation that is included in the result of the first step. The fact that the final result is also reflexive and transitive (as well as symmetric), and thus an equivalence relation, is not immediately obvious, although straightforward to prove. Rather than prove that the defining properties of reflexivity and transitivity are satisfied, we establish reflexivity and transitivity constructively by exhibiting a starth root-in a way that emphasises the creative process in its construction. The resulting construction is fundamental to algorithms that determine the strongly connected components of a graph as well as the decomposition of a graph into its strongly connected components together with an acyclic graph connecting such components.
Mathematics of Program Construction, 2008
Page 1. The Capacity-C Torch Problem Roland Backhouse School of Computer Science University of No... more Page 1. The Capacity-C Torch Problem Roland Backhouse School of Computer Science University of Nottingham, Nottingham NG8 1BB, England rcb@cs.nott.ac. uk Abstract. The torch problem (also known as the bridge problem ...
Theory of Computing Systems, 2007
Datatype-generic programs are programs that are parameterised by a datatype. We review the allego... more Datatype-generic programs are programs that are parameterised by a datatype. We review the allegorical foundations of a methodology of designing datatype-generic programs. The notion of F-reductivity, where F parametrises a datatype, is reviewed and a number of its properties are presented. The properties are used to give concise, effective proofs of termination of a number of datatype-generic programming schemas. The paper concludes with a concise proof of the well-foundedness of a datatype-generic occurs-in relation.
arXiv (Cornell University), Jan 30, 2024
More than 70 years ago, Jaques Riguet suggested the existence of an "analogie frappante" (strikin... more More than 70 years ago, Jaques Riguet suggested the existence of an "analogie frappante" (striking analogy) between so-called "relations de Ferrers" and a class of difunctional relations, members of which we call "diagonals". Inspired by his suggestion, we formulate an "analogie frappante" linking the notion of a block-ordered relation and the notion of the diagonal of a relation. We formulate several novel properties of the core/index of a diagonal, and use these properties to rephrase our "analogie frappante". Loosely speaking, we show that a block-ordered relation is a provisional ordering up to isomorphism and reduction to its core. (Our theorems make this informal statement precise.) Unlike Riguet (and others who follow his example), we avoid almost entirely the use of nested complements to express and reason about properties of these notions: we use factors (aka residuals) instead. The only (and inevitable) exception to this is to show that our definition of a "staircase" relation is equivalent to Riguet's definition of a "relation de Ferrers". Our "analogie frappante" also makes it obvious that a "staircase" relation is not necessarily block-ordered, in spite of the mental picture of such a relation presented by Riguet.
arXiv (Cornell University), Jan 30, 2024
arXiv (Cornell University), Oct 12, 2023
An equivalence relation can be constructed from a given (homogeneous, binary) relation in two ste... more An equivalence relation can be constructed from a given (homogeneous, binary) relation in two steps: first, construct the smallest reflexive and transitive relation containing the given relation (the "star" of the relation) and, second, construct the largest symmetric relation that is included in the result of the first step. The fact that the final result is also reflexive and transitive (as well as symmetric), and thus an equivalence relation, is not immediately obvious, although straightforward to prove. Rather than prove that the defining properties of reflexivity and transitivity are satisfied, we establish reflexivity and transitivity constructively by exhibiting a particular starth root-in a way that emphasises the creative process in its construction. The constructed starth root is fundamental to algorithms that determine the strongly connected components of a graph as well as the decomposition of a graph into its strongly connected components together with an acyclic graph connecting such components.
Lecture Notes in Computer Science, 1999
Lecture Notes in Computer Science, Aug 12, 2008
The version presented here may differ from the published version or from the version of record. I... more The version presented here may differ from the published version or from the version of record. If you wish to cite this item you are advised to consult the publisher's version. Please see the repository url above for details on accessing the published version and note that access may require a subscription.
Journal of logical and algebraic methods in programming, Jun 1, 2023
Springer eBooks, 1998
This volume contains the papers selected for presentation at the 4th International Conference on ... more This volume contains the papers selected for presentation at the 4th International Conference on Mathematics of Program Construction (MPC'98), which was held June 15-17, 1998 on the island Marstrand near GSteborg in Sweden. The general theme of this series of conferences is the use of crisp, clear mathematics in the discovery and design of algorithms and in the development of corresponding software or hardware. The conference theme reflects the growing interest in formal, mathematically based methods for the construction of software and hardware. The goal of the MPC conferences is to report on and significantly advance the state of the art in this area. Previous conferences were held in 1989 at Twente, The Netherlands, organized by the Rijksuniversiteit Groningen, in 1992 at Oxford, United Kingdom, and in 1995 at Kloster Irsee, Germany, organized by Augsburg University. The proceedings of these conferences were published as LNCS 375, 669, and 947, respectively. The program committee received 57 submissions, from which 17 were selected for presentation at the conference. Invited lectures were presented by David Harel, John Hughes, and Burghard von Karger.
Working Document, 2022
We introduce the general notions of an index and a core of a relation. We postulate a limited f... more We introduce the general notions of an index and a core of a relation. We postulate a
limited form of the axiom of choice ---specifically that all partial equivalence relations have an index---
and explore the consequences of adding the axiom to standard axiom systems for point-free reasoning.
Examples of the theorems we prove are that a core/index of a difunction is a bijection, and that the so-called
``all or nothing'' axiom used to facilitate pointwise reasoning is derivable from our axiom of choice.
We reformulate and generalise a number of theorems originally due to Riguet on polar coverings of a
relation. We
study the properties of the ``diagonal'' of a relation (called the ``diff\'{e}rence'' by Riguet who introduced
the concept in 1951). In particular, we formulate and prove a general theorem relating properties of the
diagonal of a relation to block-ordered relations; the theorem generalises a property that Riguet called an
``analogie frappante'' between the ``diff\'{e}rence'' of a relation and ``relations de Ferrers'' (a special case
of block-ordered relations).
Seventy years ago, in a series of publications, Jacques Riguet introduced the notions of a ``rel... more Seventy years ago, in a series of publications, Jacques Riguet introduced the notions of a ``relation difonctionelle'', the ``diff\a'{e}rence'' of a relation and ``relations de Ferrers''. He also presented a number of properties of these notions, including an ``analogie frappante'' between ``relations de Ferrers'' and the ``diff\a'{e}rence'' of a relation. Riguet's definitions, particularly of the central concept of the ``diff\a'{e}rence'' of a relation, use formulae involving nested complements. Riguet's proofs make extensive
use of natural language making them difficult to understand. The primary purpose of this paper is to bring Riguet's work up to date using modern calculational methods. Other goals are to document and extend Riguet's work as fully as possible, and to correct extant errors in the literature.
We call a ``relation difonctionelle'' a ``difunctional relation'', the ``diff\a'{e}rence'' of a relation we call the
``diagonal'' of a relation and a ``relation de Ferrers'' we call a ``staircase relation'' --- a special case of a ``block-ordered relation''. We avoid as much as possible the use of nested complements by exploiting the
left and right factor operators (aka division or residual operators) on relations.
We present complete, calculational proofs of two fundamental properties of difunctions: a relation is difunctional if and only if it can be represented by a pair of functional relations and that a relation is
difunctional if and only if it is the union of a set of completely disjoint rectangles. The diagonal of a relation (Riguet's ``diff\a'{e}rence'') is a difunction that plays a very significant r\^{o}le in the study of
block-ordered relations; accordingly, we study its properties in depth. For completeness, we also present a second method for constructing a difunction from an arbitrary relation: Riguet's ``fermeture difonctionelle''.
Riguet used an informal, mental picture of a staircase-like structure to introduce ``relations de Ferrers'' in the case of finite relations. Riguet also stated a necessary and sufficient condition for a ``relation de
Ferrers'' to be the union of a totally ordered class of rectangles, where the ordering has a property that we call ``polar''. By omitting the totality requirement, we abstract the more general notion of a
block-ordered relation. We explore conditions under which a given relation has a non-redundant, polar covering and when it is block-ordered. In doing so, we formulate and prove a theorem establishing an
equivalence between the property of a relation being block-ordered and properties of the diagonal of a relation. Our theorem generalises Riguet's ``analogie frappante''.
The primary novelty of our work is the introduction of the notion of the ``core'' of a relation. This is a
notion that is of general applicability and not just in the context of block-ordered relations. For example,
the core of a difunctional relation is a bijection, the core of a preorder is an ordering (a special case of the
core of a block-ordered relation, which is also an ordering), and the core of a finite graph is an acyclic
graph connecting its strongly connected components. Our generalisation of Riguet's ``analogie
frappante'' shows how the core of a relation in combination with its diagonal is used ---under certain
conditions--- to construct a non-redundant, injective polar covering of a given relation. The theorem
may have practical application in the concise representation of very large databases.
Finally, we consider the special case of staircase relations. We consider different definitions that
formalise Riguet's mental picture. Contrary to claims made in the published literature, we show that the
definitions are not equivalent in general. We do prove their equivalence in the case of (block-)finite relations, a fact that is often taken for granted in the extant literature but of which we have never seen a proof.
Algorithmic graph theory ---as taught in many university courses--- focuses on the notions of ac... more Algorithmic graph theory ---as taught in many university courses--- focuses on the notions of acyclicity and strongly connected components of a graph, and the related search algorithms. This document is about combining mathematical precision and concision in the context of algorithmic graph theory. Specifically, we use point-free reasoning about paths in graphs (as opposed to pointwise reasoning about paths between nodes in graphs),
resorting to pointwise reasoning only where this is unavoidable. Our aim is to use the calculations as the basis of a machine-supported formal verification of graph algorithms in order to assess the current state of automated verification systems.
In 1971, J.H. Conway introduced the notion of the factors of a language and the factor matri... more In 1971, J.H. Conway introduced the notion of the factors of a language and the factor matrix of a regular language. Shortly afterwards, the author extended Conway's factor theory in several ways. The existence of a unique, minimal starth root of the factor matrix, dubbed the factor graph of the language, was established. It was also proved that the factor matrix of a factor of a language is a submatrix of the factor matrix of the
language, and the factor graph of a factor of a language is pathwise homomomorphic to the factor graph of the language. The latter result was used to derive an algorithm for computing the factor matrix of a language from its factor graph with the property that the resulting regular expressions have star-height at most the cycle-rank of the factor graph,
and could be strictly smaller.
Using the simple device of naming the factor operators, the current paper revisits Conway's and our own work on factor theory in a calculational style. We give explicit constructions of the factor matrix, the factor graph, submatrices of the factor matrix defined by subfactors and pathwise homomorphisms of factor graphs.
We also extend factor theory beyond this earlier work. We formulate the theory more abstractly so that we can rigorously justify the use of the syntactic monoid of a language in calculations involving factors. We also present Conway's theory of approximations of regular languages but extended to this more general abstract context. When specialised to
regular languages, we prove the existence of a unique \emph{minimal} approximating function (a \emph{least} approximating function) and
compare this with Conway's \emph{maximal} constant+linear approximating function.
The closure algorithm we present does not always construct regular expressions of minimal star-height. However, we speculate in the conclusions on how the theory of approximations might be exploited to develop a novel, effective approach to solving the star-height problem.
University of Essex Technical Report CSM-61, 1983
A lecture on what the science of computing is.