Texts and Monographs in

Editor David Gries Advisory Board F. L. Bauer K.S.Fu J. J. Horning R.Reddy D. C. Tsichritzis W. M. Waite Texts and Monographs in Computer Science

Brian RandelI, Ed. The Origins of Digital Computers Selected Papers 2nd Edition. 1975. xvi, 464p. 120 ilIus. cloth

Jeffrey R. Sampson Adaptive Information Processing An Introductory Survey 1976. x, 214p. 83 ilIus. cloth

Arto Salomaa and Matti Soittola Automata-Theoretic Aspects of Formal Power Series 1978. x, 171p. cloth

Suad Alagic and Michael A. Arbib The Design of Well-Structured and Correct Programs 1978. x, 292p. 14 illus. cloth

Peter W. Frey, Ed. Chess Skill in Man and Machine 1978. xi, 225p. 55 ilIus. cloth

David Gries, Ed. Programming Methodology A Collection of Articles by Members of IFIP WG2.3 1978. xiv, 437p. 68 illus. cloth

Michael A. Arbib, A.J. Kfoury, and Robert N. Moll A Basis for Theoretical Computer Science (The AKM Series in Theoretical Computer Science) 1981. vii, 220p. 49 ilIus. cloth

A.J. Kfoury, Robert N. Moll, and Michael A. Arbib A Programming Approach to Computability (The AKM Series in Theoretical Computer Science) 1982. viii, 251p. 36 illus. cloth

David Gries The Science of Programming 1981. xiii, 366p. cloth

Edsger W. Dijkstra Selected Writings on Computing A Personal Perspective 1982. xvii, 362p. 1 illus. cloth Selected Writings on Computing: A Personal Perspective

Edsger W. Dijkstra

Springer-Verlag Heidelberg Berlin Edsger W. Dijkstra Plataanstraat 5 5671 AL Nuenen The N etherlands

Editor

David Gries Department of Computer Science Upson Hall Ithaca, NY 14853 U.S.A.

With 13 illustrations.

Library of Congress Cataloging in Publication Data Dijkstra, Edsger Wybe. Selected writings on computing (Texts and monographs in computer science) Bibliography: p. Inc1udes index 1. Electronic data processing-Addresses, essays, lectures. 2. Computers• Addresses, essays, lectures. 3. Programming (Electronic computers)-Addresses, essays, lectures. 1. Title. 11. Series. QA76.24.D54 1982 001.64 82-10260

© 1982 by Springer-Verlag New York Inc. Softcover reprint of the hardcover Ist edition 1982 All rights reserved. No part of this book may be translated or reproduced in any form without written permission from Springer-Verlag, 175 Fifth Avenue, New York, New York 10010, U.S.A. The use of general descriptive names, trade names, trademarks, etc. in this publication, even if the former are not especially identified, is not to be taken as a sign that such names, as understood by the Trade Marks and Merchandise Act, may accordingly be used freely by anyone.

Production: Michael Porch Typset by Science Typographers, Inc., Medford, NY.

9 8 7 6 543 2 1

ISBN-13 :978-1-4612-5697-7 e-ISBN-13 :978-1-4612-5695-3 DOI: 10.1007/978-1-4612-5695-3 Preface

Since the summer of 1973, when I became a Burroughs Research Fellow, my life has been very different from what it had been before. The daily routine changed: instead of going to the University each day, where I used to spend most of my time in the company of others, I now went there only one day a week and was most of the time -that is, when not travelling!- alone in my study. In my solitude, mail and the written word in general became more and more important. The circumstance that my employer and I had the Atlantic Ocean between us was a further incentive to keep a fairly complete record of what I was doing. The public part of that output found its place in what became known as "the EWD series", which can be viewed as a form of scientific correspondence, possible since the advent of the copier. (That same copier makes it hard to estimate its actual distribution: I myself made about two dozen copies of my texts, but their recipients were welcome to act as further nodes of the distribution tree.) The decision to publish a se1ection from the EWD series in book form was at first highly embarrassing, but as the months went by I got used to the idea. As soon as some guiding principles had been adopted -preferably not published elsewhere, as varied and as representative as possible, etc.- the actual se1ection process was much easier than I had feared. Harder to decide was the question to how much editing the selected texts should be subjected. When the texts are viewed as historical documents, their editing should be minimal. When David Gries went through the texts with his fine-toothed comb he revealed so many opportunities for improve• ment that, eventually, the editing became quite extensive. As a result, the texts as published are not representative of my mastery of the English language.

v vi Preface

A major obstacle to publication was my insistence that selected trip reports be included. Having decided that the selection should be representa• tive, I had no choice, since the period in question covers years during which I was on the road a third of the time. Furthermore, few of my texts reflect my feelings and attitudes more clearly than the trip reports. (It has been remarked that my trip reports are more revealing about their author than about the people and places visited.) There was only one snag: there is no tradition of publishing such comments. While performing artists are quite used to being judged publicly by their peers, performing scientists are not. (Reviews of published books and articles are the closest approximation.) In my appreciation, the feelings of the people involved are as much apart of the birth of a science as their "objective" scientific achievements, and when one publisher told me he would like to publish the selection after the removal of the trip reports, I looked for another one. I am very grateful to Marvin Israel for immediately insisting that the trip reports be included. Even if you can convince the judge that it was never your intention to hurt or to offend, libel suits are awkward and eventually it was thought prudent to replace names in a few instances by "NN". I would like to stress that in no case should such areplacement be interpreted as our suspicion that the person in question would make trouble. First and foremost I am indebted to Burroughs Corporation, which gracefully created the circumstances under which I could work. It is impossible to mention all those who have contributed, direcdy or indirecdy. I make an exception for C.S. Scholten, with whom I have collaborated without interruption since 1952, and for W.H.J. Feijen, A.J. Martin, and M. Rem. Our regular discussions formed the root from which the "Tuesday Aftemoon Club" grew. In its weekly gatherings, the Tuesday Aftemoon Club evolved into a very critical and very inspiring environment; how much we have benefitted from each other is hard to fathom. Finally, this book cou1d not have been published in its present form without the very substantial assistance of David Gries, who spontaneous1y offered to correct my English. He ended up by screening all arguments and their presentation as well. He went far beyond the cal1 of friendship and my feelings towards him are of deep gratitude on the verge of guih, since I am afraid that he undertook the task without being aware of its size. I owe him many thousands of thanks for his many thousands of comments.

Nuenen, 19 July 1981 EDSGER W. DIJKSTRA Table of Contents

EWD227 Stepwise Program Construction 1 This essay, though dating from February 1968, has been inc1uded beeause, in retrospeet, it marks a turning point in my professionallife: it represents my earliest eonseious effort at orderly program development. The whole essay -and this explains to a eertain extent its somewhat pathetie eovering letter• was written while I felt mortally ill: it was written as my farewell to scienee. Fate has deeided differently.

EWD338 Parallelism in Multi-Record Transactions (Co-author: C.S. SCHOLTEN) 15 This teehnieal note, though dating from 1972, has been inc1uded beeause we never published it. (Though typed, it was never deeently edited until I did so for this eolleetion.) When we diseovered that we eould not explain it to the data proeessing experts in our immediate environment, we somehow lost interest. In May 1977, Martin Rem -whlle temporarily at the California Institute of Teehnology, Pasadena- designed a special purpose "elephant" -a set of eommunieating sequential proeesses with a fixed eonneetion pattern- for establishing whether a renumbering satisfying relation 7 (from this teehnieal note) exists.

EWD376 Finding the Maximum Strong Components in a Directed Graph 22 The algorithm developed here is not the best one possible: it is not linear in the number of ares. It has been inc1uded for the sake of those interested in problem solving: it is one of my rare verbatim protoeols of what I wrote down while developing this solution. (I started thinking about the problem whlle travelling by train from Eindhoven to Amsterdam; the text was written in my

vii vüi Contents hotel room.) [See Hopcroft, 1., and Tarjan, R. Efficient algorithms for graph manipulation. Comm. ACM 16,6 (June 1973),372-378.1

EWD385 Trip Report E.W. Dijkstra, Summer School Munich, July 25 to August 4, 1973 31 On August I, 1973, during that NATO Summer School in Marktoberdorf, I became a Burroughs Research Fellow; I still remember how funny it feit to write my trip report in English instead of in Dutch, as I had been used to do. At that Summer School I learned -blessed are the English!- that Norman Vincent Peale is practically unknown in the United Kingdom.

EWD386 The Solution to a Cyclic Relaxation Problem 34 This is the solution referred to in the last paragraph of EWD385. Remarkably enough -see EWD391- the remark is missing in the end, that in the case that m * p is not an integer multiple of N, the system will still converge to a completely stable situation, provided that the roundings don't a11 take place in the same direction. I was elose to EWD391's "crucial observation", but not yet there ....

EWD387 Trip Report IBM Seminar" Communication and Computers", Newcastle, Sept. 1973 36 The above title has been faithfully reproduced in this collection with due apologies to the University of Newcastle-upon-Tyne, U.K., which is always very careful to denote these yearly seminars differently (and rightly so). Had my then still recent association with industry made me so sensitive to what I observed? The reference to the documentary film made for the Monsanto Chemical Company is from The Organization Man by Willam H. Whyte, Jr. (Simon and Schuster, 1956), Chapter 16, titled "The Fight against Genius".

EWD391 Self-Stabilization in Spite of Distributed Control 41 As soon as I had found at last my first self-stabilizing system, I was so excited that immediately -on the 1st of October 1973- I wrote this paper with the intention of submitting it for publication. Just in time I remembered that such temptations should be resisted until the initial excitement has died out. On the 12th of October 1973 I found a solution with four-state machines, on the Ist of November 1973 one with three-state machines. Under the same title a11 three solutions were eventually published in Comm. ACM 17, 11 (Nov. 1974) 643-644.

EWD407 Acceptance Speech for the AFIPS Harry Goode Memorial Award 1974 47 This speech was delivered at the Conference Luncheon, Tuesday May 7, 1974, of the National Computer Conference and Exposition, May 6-10, 1974, Chicago, U.S.A. Contents ix

EWD427 Speech at the Occasion of an Anniversary 50 Only at the 16th of June, 1974, it became public knowledge that since its inception, ten years earlier, I had been Chairman of the Board of "Mathe• matics Inc.", the company earmarked to become the world's leading manufac• turer of mathematical products. One of my reasons for going public was my desire to broaden the range of my written English, which, as far as it had been developed, was becoming a mild prison. The communications of the Chair• man of "Mathematics Inc." are as much linguistical exercises as genuine efforts to inform the reader about the world in which this wonderful company operates.

EWD442 Inside "Mathematics Inc." 54 See EWD427. (Those former members of the IFIP Working Group 2.1 who, like I, have learned the English expression "utterly preposterous" from the German Prof.Dr.Dr.h.c.F.L. Bauer, will still remember the acronym "u.P."; for the benefit of the uninitiated reader, the acronym has not been used.)

EWD443 A Multidisciplinary Approach to Mathematics 56 Because the Proceedings of the 108th Annual Meeting of the International Federation of Mathematical Societies IFMS, 1976, Loempia, are out of print, their publishers could not withhold permission to reprint here at least excerpts from the Keynote Address. Their permission, so gracefully gran ted, is acknowledged in gratitude.

EWD447 On the Role of Scientific Thought 60 This essay -a credo, if you like- has been provoked by (I am afraid, rather depressing) discussions at the Eindhoven University of Technology about the computing science curriculum. Parts of it are as general as its tide suggests, and deal with questions such as the role of scientific thought and the viability of scientific disciplines. The rest argues why computing requires a discipline worthy of the name "computing science". (Of all I wrote in those days, this essay is one I remember best. At the time of writing I liked it, and I still like it.)

EWD462 A Time-Wise Hierarchy Imposed upon the U se of a Two-Level Store 67 This paper was submitted for publication and accepted, but never published. After the referee's conc1usion: "This paper formulates and illustrates some fundamental principles of software engineering which have been shamefully and disastrously neglected in the past; for this reason its publication is to be highly recommended. However, the argument is in several places quite sketchy, and should be reinforced if the paper is to live up to its promise. The comments given below may indicate some further points that should be covered." x Contents

nine(!) pages of detailed comments followed. (The last sentence of the section "Temptations to be resisted." evoked from the referee the comment: "In every fibre of my body I agree. But I wish the author could bring more compelling arguments than merely italics.") But all my efforts at rewriting failed: I could not live up to my referee's expectations, and, eventually, I gave up. See also EWD465.

EWD464 A New Elephant Built from Mosquitoes Humming in Harmony 79 A problem from graph theory is solved by a circular arrangement of N synchronized machines that together manipulate an N * N connection matrix, each machine starting at an element of the diagonal.

EWD465 Monotonie Replaeement Algorithms and Their Implementation 84 An elephant -more in the form of a snake!- built from astring of mosquitoes provides the "additional hardware" referred to in EWD462; a wise definition of "average page fault frequency" as a function of time presented an unexpected problem. Because this elephant was a patentable invention, this note was not distributed at the time of writing.

EWD466 Trip Report E.W. Dijkstra, Meeting IFIP W.G.2.3., Munieh, 8-14 Deeember 1974 89 At which I was introduced to what later became known as "the Gries-Owicki Theory", and I decided not to become a logician.

EWD474 Trip Report Visit ETH Zurieh, 3-4 February 1975 by E.W. Dijkstra 95 A productive quickie (i.e. one of the attempted solutions to The Travelling Scientist's Problem). How mathematicians and physicists threaten to strangle computing science.

EWD475 A Letter to My Old Friend Jonathan 99 From a historical point of view, this letter, which I wrote in my capacity of Chairman of the Board of "Mathematics Inc.", is of great interest: it is the first record of our scientific progress being hampered by legal embroilments.

EWD480 "Craftsman or Seientist?" 104 The teaching of programming as the teaching of thinking is the central theme of this Luncheon Speech. See also EWD494. Contents xi

EWD482 Exercises in Making Programs Robust 110 This report is typical for the texts that hardly see the light of day: the not too convincing deposit of a lot of hard work. I did send it around "hoping for he1pful comments", but I got none: evidently, it was as hard to read as it had been to write. The suggestions made in its last paragraph still seem to place the effort in the right perspective.

EWD494 Trip Report E.W. Dijkstra 16th April/7th May, 1975, U.S.A. and Canada 120 With eight public performances at six different places and a week at Burroughs, Mission Viejo, this was a trip with a heavy schedule. The main events were the International Conference on Software Reliability, 1975, Los Angeles, U.S.A. and the IBM Conference on Software Engineering , Montebello, Canada.

EWD498 How Do We Tell Truths that Might Hurt? 129 Computing's misery captured in a dozen, easily remembered maxims.

EWD501 Variations on a Theme: An Open Letter to C.A.R. Hoare 132 This letter describes the start of an experiment with "shunting monitors" that was -and perhaps still is!- not without promise. Its aim was to combine what later became known as "the technique of the split binary semaphore" with the textual encapsulation of the monitor and -for the sake of more delicate control- the explicit manipulation of queues of blocked processes. Conceptuallyas weH as notationally, the text is still quite raw -the introduc• tion of the anthropomorphic "me" being only one of the minor sins!- . Discouraged by Roare's lack of enthusiasm, and quickly thereafter thrilled by more exciting visions, I abandoned the experiment while it was still in its infancy. See also EWD503 and EWD504.

EWD503 A Post-Scriptum to EWD501 141 This was written the day after EWD501 had been mailed. Note that the procedure "release" at the end of the last example, in the "diskhead" monitor, contains a silly coding error that was corrected in EWD504.

EWD504 Erratum and Embellishments of EWD503 145 As the text says: "Clearly, "shunting" is something I still have to leam!".

EWD508 A Synthesis Emerging? 147 In retrospect this text is not without historical interest: it records the high• lights of a discussion mentioned under Ref. 9 in C.A.R. Roare's "Communi• cating Sequential Processes", Comm. ACM 21, 8 (Aug. 1978),666-677. The xii Contents text was evidently written in astate of some exeitement; in retrospeet we may eonclude that this exeitement was not entirely unjustified. Seeing Hoare keenly interested in the topie, lIeft that arena.

EWD512 Comments at a Symposium 161 I wrote this text in Neweastle-upon-Tyne to serve as a starter for the diseussion during the Symposium's closing session (see EWD513).

EWD513 Trip Report E.W. Dijkstra, Newcastle, 8-12 September 1975 165 How I learned what I feared: "Computers and the edueated individual" is an almost empty topie.

EWD525 On a Warning from E.A. Hauck 169 An analysis shows how the ineorporation of error eorreetion inereases in general the prob ability that a wrong result will be delivered. (By and large, the warning was ignored during the years that followed; the pressure to use umeliable teehniques proved often to be too strong.)

. EWD528 More on Hauck's Warning 172 A very niee demonstration of a theorem that had been mentioned in EWD525 without proof.

EWD538 A Collection of Beautiful Proofs 174 A draft ehapter of a book titled On the Nature and Role 0/ Mathematical Elegance, which never got written (despite EWD538's closing sentence "To be continued in a later report."). The incentive to write the book is still there, namely the discovery that among all sorts of mathematicians the consensus about what is mathematieally elegant is mueh stronger than they themselves suspeet, and the conclusion that mathematical elegance cannot be such an elusive concept after all.

EWD539 Mathematics Inc., a Private Letter from Hs Chairman 184 Being a private communication from its Chairman, this document is presuma• bly the most revealing document we have about Mathematics Inc.; for the reader with a special interest in how to ron a big business it could be illuminating to observe how the Chairman used what he had just learned in Newcastle (see EWD513) to the company's advantage.

EWD554 A Personal Summary of the Gries-Owicki Theory 188 This note was primarily written for my own clarification, and upon its completion I was very pleased with it. It is now a regular handout to my students, who seem to like it too. Its nonoperational approach to concurrency should be one of its distinctive features. Contents xiii

EWD561 A "Non Trip Report" from E.W. Dijkstra 200 This was written to give the regular readers of the EWD series an idea of how I lived when I was not travelling. In retrospect it strikes me a bit as an idealization. It mentions, for instance, neither al1 the routine obligations of running an office nor the sleepless nights caused by university politics.

EWD563 Formal Techniques and Sizeable Programs 205 This invited speech, which describes one of my formal experiments in rea• sonable detail, was written for the Symposium on the Mathematical Founda• tions of Computing Science, Gdansk, 1976. It was, however, never delivered because, when I arrived in Gdansk and met my audience, I felt that a totally different talk would be more appropriate. So they got an impromptu instead (see EWD584).

EWD570 An Exercise for Dr. R.M. Burstall 215 I later learned that -in a very different connection- the function fusc had already been discovered (but not named that way) by de Rahm (see Elemente der Mathematik, Vol. 2 (1947), p. 95). The colleague who found and told me that discovery was very amazed to see no trace of disappointment from my side, but I couldn't care less: I had had my own fun in my own way. Burstall never picked up the gauntlet; later this was done at the Technische Universität München. (See EWD578.)

EWD573 A Great Improvement 217 In my own publications I had given a very ugly formulation of the weakest precondition that the execution of a given statement is guaranteed to decrease a given integer function of the state by at least 1. During my absence from Eindhoven, colleagues of mine had found a much simpler expression, which is much simpler to work with.

EWD575 To R.D. Mills, Chairman Software Methodology Panel 220 This is an example of my activity as adviser, an activity of which I am not very fond; I also doubt that I am very good at it. Had I known E.T. Bell's book at the time of writing, I might have quoted him on "the twentieth-cen• tury mania for cooperation in everything". (The Development of Mathematics by E.T. Bell, McGraw-Hill Book Company, 1945.)

EWD576 On Subgoal Induction 223 In its original version this technical note was unreadable, for what is called here U(x) had been denoted there as P(x) -my usual way of denoting the invariant relation of a repetition- ; as a result the poor reader had to guess whether P(x) stood for the P(x) of Manna and Waldinger or for mine! If I had written the text now, I would have used fewer implication signs; their lavish use -see, for instance, formula (7)- is definitely unattractive. Its conclusion, however, is most attractive: we can ignore subgoal induction because it is nothing but the Invariance Theorem in a complicated disguise. xiv Contents

EWD577 Trip Report E.W. Dijkstra, ECI-Conferenee 9-12 August 1976, Amsterdam 225 How I visited a conference in my own country.

EWD578 More About the Funetion "fusc" (A Sequel to EWD570) 230 Which gave rise to persistent rumours about a pending foundation of "The International Quarterly of FUSC Research".

EWD582 A Proof of a Theorem Communieated to Us by S. Ghosh 233 The theorem is about linear equations in which unknowns and coefficients are positive integers.

EWD584 Trip Report E.W. Dijkstra, Poland and USSR, 4-25 September 1976 235 This was my first visit to these countries.

EWD585 Trip Report E.W. Dijkstra, Tokyo, 28 Sept.-3 Oet. 1976 245 After having returned from Novosibirsk just in time for my wife's birthday, I was off to Tokyo a few days later. My first exposure to the Far East was a very puzzling experience.

EWD594 A Parable 251 In cauda venenum?

EWD603 Trip Report E.W. Dijkstra, St. Pierre-de-Chartreuse, 12-19 Dee. 1976 253 Which covers one of the many meetings I attended of the IFlP Working Group W.G.2.3. (See also EWD611.)

EWD607 A Correetness Proof for Communieating Proeesses: A Small Exereise 259 For a distributed system I tried a similarly distributed correctness proof. It was one of my first exercises in that vein, and I remember that I found it quite instructive.

EWD608 An Elephant Inspired by the Duteh National Plag 264 A more ambitious exercise in the same vein as the previous one. Contents xv

EWD611 On the Fact that the Atlantic Ocean Has Two Sides 268 Trus open letter to my co-members of the IFIP Working Group W.G.2.3 on "Programming Methodology" was very hard to write. It had been prompted by my observations at the Working Group's previous meeting (see EWD603). Its subject matter is intrinsically touchy, and not everyone appreciated the way in which I touched it in this letter. I didn't mind: I knew that I had done my best and that pleasing everyone is not my business.

EWD613 Trip Report E.W. Dijkstra, Australia, 16 February 1977-21 March 1977 277 I accepted the invitation for this visit to Australia shortly after I had decided that I should really reduce the amount of travelling to which I was subjecting my poor body. So much for good intentions! But I gave in because Dr. Robin B. Stanton's letter of invitation was so very nicely phrased, and I shall never regret having accepted his invitation, for the whole trip was in many ways a rare pleasure.

EWD6l4 A Somewhat Open Letter to EAA or: Why I Proved the Boundedness of the Nondeterminacy in the Way I Did 284 Occasionally I have found the "somewhat open letter" a very useful device. This was one of the first times that I applied it.

EWD6l8 On Webster, Users, Bugs, and Aristotle 288 This is the type of comments on the computing community that you can't publish in a journal because they are not "scientific". It was written shortly after the introduction of the new Dutch postal codes, and I am still struggling to convince the world that my postal code is "5671 AL", ending on two capital letters!

EWD622 On Making Solutions More and More Fine-Grained 292 This text is almost as painful to read as it was to write. And that is exactly the reason for its inc1usion. It records a rough, groping experiment that is in strong contrast to what was harvested from it the next year, viz. "Finding the correctness proof of a concurrent program" (Proceedings 0/ the Koninklijke Nederlandse Akademie van Wetenschappen, Amsterdam, series A, volume 81(2), June 9, 1978, pp. 207-215). It is almost the last text I wrote before I conc1uded that the implication sign is such an endless source of confusion that the less use we make of it, the better. In the years to come the problem tackled here would attract in one form or the other more attention, e.g. "Distributed Termination" by Nissim Francez (ACM Transactions on Programming Lan• guages and Systems, Vol. 2, No. 1, January 1980, pp. 42-55) and EWD687a "Termination detection for diffusing computations" by Edsger W. Dijkstra and C.S. Scholten. xvi Contents

EWD623 The Mathematics Behind the Banker's Algorithm 308 I tend to explain my discoveries in the way I made them, and, if I am not careful, all sorts of obsolete thinking habits surface during the explanation of my older discoveries. Explaining the Banker's Algorithm in a more modern way than I used to do -it dates from the mid-sixties- was an unexpected pleasure.

EWD629 On Two Beautiful Solutions Designed by Martin Rem 313 WeIl, on one actually. Somehow, I never inc1uded Martin Rem's second beautiful solution in the EWD series. After this had been written it was brought to my attention that two years earlier C. Bron had shown us essentially the same solution; bis coding had been less "convincing" and the fact had completely escaped me.

EWD635 Trip Report E.W. Dijkstra, Newcastle-upon-Tyne, 5-10 Sept. 1977 319 Another trip report from Newcastle; it has been included because it describes one of my more intensive confrontations with the hardware community. Tbe confrontation was disappointing.

EWD636 Why Naive Program Transformation Systems Are Unlikely to Work 324 Describing the insight I brought horne from IFIP '77 (Toronto) or why to have dinner in a Chinese restaurant. I have had many requests for reprints of this report, mostly from France and from India.

EWD637 The Three Golden Rules for Successful Scientific Research 329 This was written after I had explained the Three Golden Rules at the IFIP W.G.2.3 meeting at Niagara-on-the-Lake.

EWD639 The Introduction of MAES® 331 Mathematics Inc. is a remarkable company, as is demonstrated by the fact that all its Chairman's communications to date have been inc1uded in this anthology. At the same time this remarkable fact enhances the profound cultural significance of this selection of reports, which are now available for the first time to the public at large. Describing the full potential of Artificial Intelligence, this artic1e is an absolute must for the weIl-educated, concemed layman.

EWD643 A Class of Simple Communication Patterns 334 This type of report is exciting at the moment it is being written: one has understood something! But in a way the discovery is so minor that after a while it is absorbed in that deposit called "experience". Contents xvii

EWD648 "Why Is Software So Expensive?" An Explanation to the Hardware Designer 338 The effect of an invitation that, eventually, I could not accept.

EWD650 A Theorem About Odd Powers of Odd Integers 349 I still remember my modest excitement with wbich this little note was written. Firstly I reaIized that our strengthened mathematical grip on algorithms could open the way to new existence proofs. Secondly I was most pleased to see how weIl my heuristics had served me. Thirdly the little program that is the carrier of the argument is so beautifully simple.

EWD671 Program Inversion 351

Because the statement do x> 0 -> x := x-Iod destroys an unbounded amount of information, its inverse would be a program of unbounded nondeterminacy; hence, within the realm of continuous programs, not each program has an inverse. But it is fun! Once, when I ended a one-week programming course by inverting programs, one of the participants called my last lecture "the longest joke he had ever heard". One of my colleagues called EWD671 "a rare intellectual delight". I think they meant the same thing.

EWD673 On Weak and Strong Termination 355 This note was a pretty direct consequence of EWD671, wbich made me ponder what I really did when I inverted programs; quite naturally my attention was drawn to the different notions of termination.

EWD675 The Equivalence of Bounded Nondeterminacy and Continuity 358 A direct sequel to EWD671. So much for clearing up my own mind!

EWD678 A Story that Starts with a Very Good Computer 360 Fairy tales, I am told, are supposed to contain a core of truth. WeIl, this one certainly does, for the invention of QUICKSORT was C.A.R. Hoare's im• mediate reaction to bis first exposure to ALGOL 60: its recursion was just what he needed! The moral of the story seems to be -but with fairy tales one is never quite sure- that the proof obligations to be fulfilled by the programmer provide the demarcation between bis responsibility and the responsibility of the implementer of the used. Hence, those proof obligations -and nothing more!- could be used to define the semantics of the programming language in question.