Edsger W. Dijkstra Archive


EWD Index:

BibTeX index

MC Reports

Other documents


Video and Audio

External links


These publishers hold copyrights in publications whose
manuscripts are reproduced in this web site.

Academic Press

 EWD568 A programmer’s early memories. A History of Computing in the Twentieth Century. Academic Press, 1980: 563–573.


 EWD196 The structure of the “THE”-multiprogramming system. Commun. ACM 11 (1968), 5: 341–346.
 EWD340 The humble programmer. Commun. ACM 15 (1972), 10: 859–866.
 EWD426 Self-stabilizing systems in spite of distributed control. Commun. ACM 17 (1974), 11: 643–644.
 EWD472 Guarded commands, non-determinacy and formal derivation of programs. Commun. ACM 18 (1975), 8: 453–457.
 EWD496A On-the-fly garbage collection: an exercise in cooperation. Commun. ACM 21 (1978), 11: 966–975.


 EWD1017 Fillers at a YoP-institute. Formal Development of Programs and Proofs. Addison-Wesley, 1990: 211–227.
 EWD1019 Fillers at a YoP-institute. Formal Development of Programs and Proofs. Addison-Wesley, 1990: 209–210.
 EWD1020 The derivation of a proof by J.C.S.P. van der Woude. Formal Development of Programs and Proofs. Addison-Wesley, 1990: 201–207.


 EWD209A A constructive approach to the problem of program correctness. BIT 8 (1968), : 174–186.
 EWD954a On binary operators and their derived relations. BIT 28 (1988): 378–382.

Elsevier Science Publishers B.V.

 EWD329 Information streams sharing a finite buffer. Inf. Proc. Letters 1 (1972): 179–180
 EWD687 Termination detection for diffusing computations. Inf. Proc. Letters 11 (1980), 1: 1–4.
 EWD817 An introduction to three algorithms for sorting in situ . Inf. Proc. Letters 15 (1982), 3: 129–134.
 EWD840 Derivation of a termination detection algorithm for distributed computations. Inf. Proc. Letters 16 (1983): 217-219.
 EWD953 A heuristic explanation of Batchers’s Baffler. Science of Computer Programming 9 (1986): 213–220.
 EWD1071 Making a fair roulette from a possibly biased coin. Inf. Proc. Letters 36 (1990): 193.


 EWD709 My hopes of computing science. Proc. 4th Int. Conf. on Software Engineering, Munich, 1979.

Mathematical Association of America

 EWD361 Programming as a discipline of mathematical nature. Am. Math. Monthly 81 (1974), 6: 608–612.
 EWD1294 Designing a calculational proof of Cantor’s theorem. Am. Math. Monthly (to appear).


 EWD401 The characterization of semantics. A Discipline of Programming. Prentice-Hall, 1976: Chapter 3.

The Royal Society

 EWD871 Invariance and nondeterminacy. Philosophical Transactions of the Royal Society, Series A,Volume 312, 1984.

Springer-Verlag NY

From Selected Writings on Computing: A Personal Perspective (1982):

 EWD227 Stepwise program construction.  1–14
 EWD338 Parallelism in multi-record transactions  15–21
 EWD376 Finding the maximum strong components in a directed graph  22–30
 EWD385 Trip report E.W.Dijkstra Summer School Munich, July 25 to August 4, 1973  31–33
 EWD386 The solution to a cyclic relaxation problem  34–35
 EWD387 Trip report IBM Seminar “Communication and Computers”, Newcastle, Sept. 1973.  36–40
 EWD391 Self-stabilization in spite of distributed control  41–46
 EWD407 Acceptance speech for the AFIPS Harry Goode Memorial Award 1974  47–49
 EWD427 Speech at the occasion of an anniversary  50–53
 EWD442 Inside “Mathematics Inc”  54–55
 EWD443 A multidisciplinary approach to mathematics  56–59
 EWD447 On the role of scientific thought  60–66
 EWD462 A time-wise hierarchy imposed upon the use of a two-level store  67–78
 EWD464 A new elephant built from mosquitos humming in harmony  79–83
 EWD465 Monotonic replacement algorithms and their implementation  84–88
 EWD466 Trip report E.W.Dijkstra, Meeting IFIP W.G.2.3., Munich, 8–14 December 1974  89–94
 EWD474 Trip report visit ETH Zurich, 3–4 February 1975 by E.W.Dijkstra  95–98
 EWD475 A letter to my old friend Jonathan  99–103
 EWD480 “Craftsman or Scientist?”  104–109
 EWD482 Exercises in making programs robust  110–119
 EWD494 Trip report E.W.Dijkstra 16th April/7th May, U.S.A. and Canada  120–128
 EWD498 How do we tell truths that might hurt?  129–131
 EWD501 Variations on a theme: an open letter to C.A.R. Hoare  132–140
 EWD503 A post-scriptum to EWD501.  141–144
 EWD504 Erratum and embellishments of EWD503  145–146
 EWD508 A synthesis emerging?  147–160
 EWD512 Comments at a Symposium  161–164
 EWD513 Tripreport E.W.Dijkstra Newcastle, 8–12 September 1975  165–168
 EWD525 On a warning from E.A.Hauck  169–171
 EWD528 More on Hauck’s warning  172–173
 EWD538 A collection of beautiful proofs  174–183
 EWD539 Mathematics Inc., a private letter from its Chairman  184–187
 EWD553 On a gauntlet thrown by David Gries  357–359
 EWD554 A personal summary of the Gries-Owicki Theory  188–199
 EWD561 A “non trip report” from E.W.Dijkstra  200–204
 EWD563 Formal techniques and sizeable programs  205–214
 EWD570 An exercise for Dr.R.M.Burstall  215–216
 EWD573 A great improvement  217–219
 EWD575 To H.D.Mills, Chairman Software Methodology Panel  220–222
 EWD576 On subgoal induction  223–224
 EWD577 Tripreport E.W.Dijkstra, ECI-conference 9–12 August 1976, Amsterdam  225–229
 EWD578 More about the function “fusc” (A sequel to EWD570)  230–232
 EWD582 A proof of a theorem communicated to us by S.Ghosh  233–234
 EWD584 Tripreport E.W.Dijkstra, Poland and USSR, 4–25 September 1976  235–244
 EWD585 Tripreport E.W.Dijkstra, Tokyo, 28 Sep. – 3 Oct. 1976.  245–250
 EWD594 A parable.  251–252
 EWD603 Tripreport E.W.Dijkstra, St.Pierre-de-Chartreuse, 12–19 Dec.1976  253–258
 EWD607 A correctness proof for communicating processes: a small exercise.  259–263
 EWD608 An elephant inspired by the Dutch National Flag  264–267
 EWD611 On the fact that the Atlantic Ocean has two sides  268–276
 EWD613 Tripreport E.W.Dijkstra, Australia, 16 February 1977 – 21 March 1977  277–283
 EWD614 A somewhat open letter to EAA or: why I proved the boundedness of the non-determinacy in the way I did.  284–287
 EWD618 On Webster, users, bugs and Aristotle  288–291
 EWD622 On making solutions more and more fine-grained (In gratitude dedicated to C.A.R.Hoare, D.E.Knuth, and J.F.Traub.)  292–307
 EWD623 The mathematics behind the Banker’s Algorithm  308–312
 EWD629 On two beautiful solutions designed by Martin Rem  313–318
 EWD635 Tripreport E.W.Dijkstra, Newcastle-upon-Tyne, 5-10 Sept. 1977  319–323
 EWD636 Why naive program transformation systems are unlikely to work  324–328
 EWD637 The three golden rules for successful scientific research  329–330
 EWD639 The introduction of MAES(R)  331–333
 EWD643 A class of simple communication patterns  334–337
 EWD648 “Why is software so expensive?” An explanation to the hardware designer.  338–348
 EWD650 A theorem about odd powers of odd integers.  349–350
 EWD671  Program inversion  351–354
 EWD673 On weak and strong termination.  355–357
 EWD675 The equivalence of bounded nondeterminacy and continuity  358–359
 EWD678 A story that starts with a very good computer  360–362

From Springer-Verlag journals:

 EWD697 Some beautiful arguments using mathematical induction. Acta Informatica 13 (1980): 1–8 .
 EWD922 A belated proof of self-stabilization. Distributed Computing 1 (1986): 5–6.
 EWD924 On a cultural gap. The Mathematical Intelligencer 8 (1986), 1: 48–52 .
 EWD1029 The linear search revisited. Structured Programming 10 (1989), 1: 5–9.

From E.W.Dijkstra and C.S.Scholten, Predicate Calculus and Program

 EWD910 Semantics of straight-line programs (Draft Chap.4).  Chapter 7
 EWD912 Extreme solutions of equations (Draft Ch.5)  Chapter 8
 EWD928 On structures  Chapter 1
 EWD949 On substitution, replacement, and the notion of a function  Chapters 2 and 3
 EWD969 Extreme solutions of equations  Chapter 8
 EWD999 Our proof format  Chapter 4
 EWD1001 The calculus of boolean structures (Part 0)  Chapter 5, pp. 30–62
 EWD1002 The calculus of boolean structures (Part 1)  Chapter 5, pp. 62–80
 EWD1020 The derivation of a proof by J.C.S.P. van der Woude.
Also published as Formal Development of Programs and Proofs. Addison-Wesley, 1990: Chapter 16.
 Chapter 6, pp. 90–95

Revised 12-Nov-2014