This technical report is based on a dissertation submitted November 1988 by the author for the degree of Doctor of Philosophy to the University of Cambridge, Lucy Cavendish College. Technical reports published by the University of Cambridge Computer Laboratory are freely available via the Internet: http://www.cl.cam.ac.uk/techreports/ ISSN 1476-2986