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;columnofhalf−addersquot;, but the derivation illustrates a number of points about working with relations rather than with functions