A Relational Derivation of a Functional Program - Hutton, Graham (1992)
This article is an introduction to the use of relational calculi in deriving programs. Using the relational caluclus Ruby, we derive a functional program that adds one bit to a binary number to give a new binary number. The resulting program is unsurprising, being the standard $quot;column of half-adders$quot;, but the derivation illustrates a number of points about working with relations rather than with functions.