A shortened version of this paper appears in the proceedings of the conference on Foundations of Software Science and Computation Structures, Amsterdam, the Netherlands, 22 – 26 March 1999. The proceedings is published by Springer Verlag as a volume of the series Lecture Notes in Computer Science.