For the past five or six years my own research, and that of many of my students and close colleagues, has focused on the problems of documentation. We have shown how, mathematical methods can be used to provide clear, concise, and systematic documentation of program design [3,4]. We have invented and illustrated new mathematical notation that is much more suited to use in documentation, but no less formal [5,6,7]. The reaction of academics and practitioners to this work has been insight-provoking.