Springer Nature is making SARS-CoV-2 and COVID-19 research free. View research | View latest news | Sign up for updates

A theorem on atomicity in distributed algorithms


Reasoning about a distributed algorithm is simplified if we can ignore the time needed to send and deliver messages and can instead pretend that a process sends a collection of messages as a single atomic action, with the messages delivered instantaneously as part of the action. A theorem is derived that proves the validity of such reasoning for a large class of algorithms. It generalizes and corrects a well-known folk theorem about when an operation in a multiprocess program can be considered atomic.

This is a preview of subscription content, log in to check access.


A :

The set of program actions

A :

The algorithm under consideration

A :

The reduced version of algorithmA


The action obtained by executing the operationA as an atomic action

C :

The set of state components


A variable of the Distance-Finding Algorithm

L :

An operation ofA, as in C2

Ľ :

The operation obtained by adding toL the actions that deliver messages sent byL

N p(S):

The set of possible next actions of processp from states

P :

The correctness property

R :

An operation ofA, as in C2

S :

The set of states

S 0 :

The set of initial states

S c :

The range of values of state componentc


An action ofA, as in C2


Usually denotes an execution ofA


The execution ofA that corresponds to an execution Φ ofA


  1. 1.

    Alpern B, Schneider FB: Defining liveness. Inf Process Lett 21 (4):181–185 (1985)

  2. 2.

    Dijkstra EW: When messages may crawl. EWD708 (1979)

  3. 3.

    Dijkstra EW: When messages may crawl, ii. EWD710 (1979)

  4. 4.

    Doeppner TW: Parallel program correctness through refinement. In: Fourth Annual ACM Symposium on Principles of Programming Languages, pp 155–169, ACM, January 1977

  5. 5.

    Gallager RG, Humblet PA, Spira PM: A distributed algorithm for minimum-weight spanning trees. ACM Trans Program Lang Syst 5 (1):66–77 (1983)

  6. 6.

    Jonsson B: Compositional verification of distributed systems. PhD thesis, Uppsala University (1987)

  7. 7.

    Lamport L, Schneider FB: Pretending atomicity. Res Rep 44. Digital Equipment Corporation, Systems Research Center (1989)

  8. 8.

    Lipton RJ: Reduction: a method of proving properties of parallel programs. Commun ACM 18 (12): 717–721 (1975)

  9. 9.

    Owicki S, Gries D: An axiomatic proof technique for parallel programs. Acta Inf 6(4):319–340 (1976)

Download references

Author information

Additional information

When snow conditions are poor,Dr. L. Lamport works at Digital Equipment Corporation's Systems Research Center. As an undergraduate, he took a course in atomic physics.

Rights and permissions

Reprints and Permissions

About this article

Cite this article

Lamport, L. A theorem on atomicity in distributed algorithms. Distrib Comput 4, 59–68 (1990). https://doi.org/10.1007/BF01786631

Download citation

Key words

  • Message passing
  • Reduction