## The Temporal Logic of Actions (1993)

### Cached

### Download Links

- [ftp.cis.upenn.edu]
- [www.research.digital.com]
- [research.compaq.com]
- [www.research.digital.com]
- [gatekeeper.dec.com]
- DBLP

### Other Repositories/Bibliography

Citations: | 806 - 27 self |

### BibTeX

@MISC{Lamport93thetemporal,

author = {Leslie Lamport},

title = {The Temporal Logic of Actions},

year = {1993}

}

### Years of Citing Articles

### OpenURL

### Abstract

### Citations

1399 | A Discipline of Programming - Dijkstra - 1976 |

1361 | An axiomatic basis for computer programming
- Hoare
- 1969
(Show Context)
Citation Context ...of formulas of some logic. Properties are derived from the program text by special proof rules, and from other properties by reasoning within the logic. Hoare's popular method for sequential programs =-=[Hoa69]-=- uses an Algol-like programming language and a logic of Hoare triples. A program logic expresses both programs and properties with a single language. Program # satisfies property P if and only if # # ... |

1205 |
The temporal logic of programs
- Pnueli
- 1977
(Show Context)
Citation Context ...tended version of the simplest form of temporal logic. Formulas can be built from elementary formulas using only logical operators (, #, . . . ) and the one temporal operator #, which means "fore=-=ver" [Pnu77]-=-. There are two types of elementary formulas: ones of the form [A], where A is an action, and state predicates. An action is a boolean-valued expression containing primed and unprimed variables, such ... |

563 | Assigning meanings to programs - Floyd - 1967 |

535 | Composing specifications - Abadi, Lamport - 1993 |

438 | The existence of refinement mappings - Abadi, Lamport - 1991 |

388 |
Defining liveness
- Alpern, Schneider
- 1985
(Show Context)
Citation Context ...s, which assert that something bad does not happen, and liveness properties, which assert that something good eventually does happen. (Safety and liveness are defined formally by Alpern and Schneider =-=[AS85]-=-.) Although the proofs of both types of properties can be carried out in the same temporal logic of actions, they use di#erent styles of reasoning. 4.1 Safety Properties Assertional methods for provin... |

323 | Symbolic model checking: 10 states and beyond - Burch, Clarke, et al. - 1990 |

310 |
An axiomatic proof technique for parallel programs
- Owicki, Gries
- 1976
(Show Context)
Citation Context ... use di#erent styles of reasoning. 4.1 Safety Properties Assertional methods for proving safety properties, including Floyd's method for sequential programs, and the Ashcroft [Ash75] and Owicki-Gries =-=[OG76]-=- 12 methods for concurrent programs, all have the same logical basis: the Invariance Rule is used to prove a formula |= # # #P , for some predicate P . We give two simple examples of how such proofs a... |

303 | Proving the correctness of multiprocess programs - Lamport - 1977 |

210 | Semantical considerations on Floyd-Hoare logic, in
- Pratt
- 1976
(Show Context)
Citation Context ...oare triples. A program logic expresses both programs and properties with a single language. Program # satisfies property P if and only if # # P is a valid formula of the logic. Pratt's dynamic logic =-=[Pra76]-=- is a well-known program logic. The temporal logic of actions is a new logic for expressing concurrent programs and their properties. It is a slightly extended version of the simplest form of temporal... |

205 | An old-fashioned recipe for real time - Abadi, Lamport - 1994 |

193 | Specifying concurrent program modules - Lamport - 1983 |

180 |
Chandy and Jayadev Misra. Parallel Program Design
- Mani
- 1988
(Show Context)
Citation Context ...ple, a simple calculation shows that this action equals y # - y = x # + x # y # - y = 3x - x # + 2. The actions used to describe a program bear a striking resemblance to statements in a Unity program =-=[CM88]-=-. It is easy to translate a Unity program into a formula in the temporal logic of actions. The translation in the other direction would also be easy, except that the logic permits a 1 We take # to hav... |

179 | What good is temporal logic - Lamport |

160 | Reduction: a method of proving properties of parallel programs - Lipton - 1975 |

159 | Formal verification of parallel programs - KELLER - 1976 |

149 | Autonet: A high-speed, self-configuring local area network using point-to-point links - Schroeder, Birrell, et al. - 1991 |

147 | Parallel Program Design - Chandy, Misra - 1988 |

147 | Temporal Semantics of Concurrent Programs - Pnueli - 1981 |

141 |
Proving liveness properties of concurrent programs
- Owicki, Lamport
- 1982
(Show Context)
Citation Context ...t existing "assertional" proof methods are adequate: safety properties are proved by invariance arguments [LS84, OG76], and liveness properties are proved by counting-down arguments or proof=-= lattices [OL82]-=-. The logic just provides a convenient way of formalizing the proofs. Since these proof methods are not new, there is no need for realistic examples. We illustrate the logic with the simple program of... |

129 | A guide to LP, the Larch prover - Garland, Guttag - 1991 |

118 | A simple approach to specifying concurrent systems
- Lamport
- 1989
(Show Context)
Citation Context ... logic of actions, with quantification over state variables, can serve as the logical foundation for the transition-axiom method---a hierarchical method of specifying and verifying concurrent systems =-=[Lam89]-=-. 19 6 Conclusion Pnueli [Pnu77] introduced a temporal logic for reasoning about programs that was based on predicates, logical operators, and the single temporal operators#. It was soon recognized th... |

96 | Verification of Sequential and Concurrent Programs - Apt, Boer, et al. - 2009 |

47 | E.C.R.: Predicative Programming
- Hehner
- 1984
(Show Context)
Citation Context ...which are not easily expressed with Unity. Giving up any pretense of having a "real" programming language allows us to merge program and logic. Our logic may be viewed as a generalization of=-= Hehner's [Heh84]-=-. While Hehner's logic deals only with partial correctness, the temporal logic of actions can express invariance properties, which generalize partial correctness, and simple fairness properties that g... |

45 |
Proving assertions about parallel programs
- Ashcroft
- 1975
(Show Context)
Citation Context ...al logic of actions, they use di#erent styles of reasoning. 4.1 Safety Properties Assertional methods for proving safety properties, including Floyd's method for sequential programs, and the Ashcroft =-=[Ash75]-=- and Owicki-Gries [OG76] 12 methods for concurrent programs, all have the same logical basis: the Invariance Rule is used to prove a formula |= # # #P , for some predicate P . We give two simple examp... |

27 | The Structure of the "THE"-Multiprogramming System - Dijkstra - 1968 |

14 | An Axiomatization of Lamport’s Temporal Logic of Actions
- Abadi
- 1990
(Show Context)
Citation Context ...seem adequate for proving invariance and leads-to properties. Martn Abadi has developed a complete proof system for the propositional case, where predicates and actions are just uninterpreted symbols =-=[Aba90]-=-. The style of reasoning used in the simple logic can be extended to the general temporal logic of actions. In the absence of quantification over state variables (hiding of internal variables), such r... |

10 |
The "Hoare logic" of CSP, and all that
- Lamport, Schneider
- 1984
(Show Context)
Citation Context ... {P}A{Q} and P # A # R # for {P}A{R}, since Q # R implies Q # # R # . 3 Language-based proof rules, such as Hoare's "Rule of Iteration" for a while statement, are replaced by the "Decom=-=position Rule" [LS84]-=- |= {P} A # B {Q} = {P} A {Q} # {P} B {Q} (4) which follows from the definition of a Hoare triple as an action. 2.3 Temporal Logic 2.3.1 Behaviors A behavior is an infinite sequence of states; the set... |

7 |
Sometime' is sometimes `not never': a tutorial on the temporal logic of programs
- Lamport
- 1980
(Show Context)
Citation Context ...uting device has stopped when it no longer changes state.) Remember that S # contains all sequences of states; most of them do not represent executions of any program. In a linear-time temporal logic =-=[Lam80]-=-, the meaning of a formula is a boolean-valued function on the set S # of behaviors. The meaning of a logical combination of temporal formulas is defined in the obvious way---for example, [[F ]](#) # ... |

6 | Ten years of Hoare’s logic: A survey—part one - Apt - 1981 |

6 | Consistent and complete proof rules for the total correctness of parallel programs - Flon, Suzuki - 1978 |

5 | Verification of Sequential and Concurrent Programs. Texts and Monographs - Apt, Olderog - 1990 |

3 |
The existence of refinement mappings. Research Report 29, Digital Systems Research Center
- Abadi, Lamport
- 1988
(Show Context)
Citation Context ... WF, and SF rules; some rules relating [A] u and [A] v for di#erent u and v; and simple temporal reasoning. The general logic is completed by adding quantification over state variables, as defined in =-=[AL88]-=-. Intuitively, if formula # represents a program with a variable w, then #w : # represents the same program except with w hidden (made internal). In our example, the formula #sem, pc 1 , pc 2 : # desc... |

3 | Time-dependent communication protocols - Shankar, Lam - 1984 |

1 | Conjoining specifications. Res - Abadi, Lamport - 1993 |