# Guarded commands, nondeterminacy and formal derivation of programs

@article{Dijkstra1975GuardedCN, title={Guarded commands, nondeterminacy and formal derivation of programs}, author={Edsger W. Dijkstra}, journal={Communications of the ACM}, year={1975}, volume={18}, pages={453 - 457} }

So-called “guarded commands” are introduced as a building block for alternative and repetitive constructs that allow nondeterministic program components for which at least the activity evoked, but possibly even the final state, is not necessarily uniquely determined by the initial state. For the formal derivation of programs expressed in terms of these constructs, a calculus will be be shown.

## 1,998 Citations

Implementations of Nondeterministic Programs

- Computer ScienceSymposium on Programming
- 1984

This paper treats the problem of suppressing the non-determinism of a given program, within the framework of the relational semantics of non-Deterministic programs, and provides the justification of the validity of some usual techniques which are based on an intuitive understanding of the concept.

Output Guards and Nondeterminism in “Communicating Sequential Processes”

- Computer ScienceTOPL
- 1980

This paper points out two problems that arise in connection with guarded commands and nondeterminism in a language for concurrent programming and addresses one of them.

Semantics of Nondeterministic and Noncontinuous Constructs

- Computer ScienceProgram Construction
- 1978

The semantics of the nondeterministic and noncontinuous constructs of the descriptive and applicative parts of the wide spectrum language CIP-L is given by defining both, a "breadth-function",…

Proving Total Correctness of Programs in Weak Second-Order Logic

- Computer ScienceREX Workshop
- 1992

Weak second-order logic is used to formalize the weakest precondition for an imperative programming language similar to Dijkstra's language of guarded commands and a new normal form representation for wp plays an important role.

Nondeterminism and Guarded Commands

- Computer ScienceEdsger Wybe Dijkstra
- 2022

By discussing the relevance and impact of his guarded commands language proposal, Alan Turing is reminded of the role of nondeterminism in computer science at the time his original article [Dijkstra 1975] appeared.

Logical reversibility

- Computer ScienceIBM J. Res. Dev.
- 2001

A technique is developed that transforms any program in the probabilistic Guarded Command Language (pGCL) into an equivalent but reversible program and the expectation-transformer semantics for pGCL is used to prove the result.

An Exercise in Transformational Programming: Backtracking and Branch-and-Bound

- Computer ScienceSci. Comput. Program.
- 1991

Analysis of infinite loops using S-formulas

- Computer Science2012 20th Telecommunications Forum (TELFOR)
- 2012

This paper considers formulas of the firstorder predicate logic defined on the abstract state space (briefly S-formulas) that describe three possible behavioral patterns for the WHILE loop: it does…

## References

SHOWING 1-3 OF 3 REFERENCES

An axiomatic basis for computer programming

- Computer ScienceCACM
- 1969

An attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to other branches of mathematics by elucidation of sets of axioms and rules of inference.

Report on the algorithmic language ALGOL 60

- Computer ScienceCACM
- 1960

It was decided to hold an international meeting in January 1960 for improving the ALGOL language and preparing a final report, and seven representatives were selected to attend the January 1960 international conference.