## A Causal Logic of Events in Formalized Computational Type Theory ∗

### BibTeX

@MISC{A_acausal,

author = {Mark Bickford A and Robert L. Constable B},

title = {A Causal Logic of Events in Formalized Computational Type Theory ∗},

year = {}

}

### OpenURL

### Abstract

We provide a logic for distributed computing that has the explanatory and technical power of constructive logics of computation. In particular, we establish a proof technology that supports correct-by-construction programming based on the notion that concurrent processes can be extracted from proofs that specifications are achievable. 1

### Citations

3409 | Communicating Sequential Processes
- Hoare
(Show Context)
Citation Context ...ransitions and message passing. Results on knowledge in multi-agent systems [FHMV97,Hal00,HF89,HS99] use models with some of the properties of worlds in our event systems. Protocol Verification Hoare =-=[Hoa85]-=- and Milner [Mil89] created extremely influential process calculi and their work is the basis for exploring verification of processes. Milner’s approach has been extended to mobile processes and actio... |

3218 |
Communication and Concurrency
- Milner
- 1989
(Show Context)
Citation Context ...age passing. Results on knowledge in multi-agent systems [FHMV97,Hal00,HF89,HS99] use models with some of the properties of worlds in our event systems. Protocol Verification Hoare [Hoa85] and Milner =-=[Mil89]-=- created extremely influential process calculi and their work is the basis for exploring verification of processes. Milner’s approach has been extended to mobile processes and action calculi [Mil93b,M... |

2336 | clocks, and the ordering of events in a distributed system
- Lamport
- 1978
(Show Context)
Citation Context ...study of computation in all its many forms. Our theory is another step toward a comprehensive theory of distributed computing in its broadest sense. It is heavily influenced by the insights of Lamport=-=[Lam78]-=- and Winskel [Win80,Win89]. 2.1.1. Events Events are the atomic units of the theory. They are the occurrences of atomic actions in space/time. Although they have duration, we don’t speak of it, consid... |

1542 |
Distributed Algorithms
- Lynch
- 1996
(Show Context)
Citation Context ...orld examples including fault tolerance, performance, security, both asynchronous and synchronous communication, quality of service requirements and so forth. Programming notations such as IOautomata =-=[Lyn96]-=- turned out to be a good abstract computing framework for expressing these concepts and for building reference implementations of important construction patterns in systems such as UAV [LRSA02]. Howev... |

1505 | The temporal logic of reactive and concurrent systems - Manna, Pnueli - 1992 |

1169 |
On computable numbers with an application to the 'Entscheidung problem
- Turing
- 1936
(Show Context)
Citation Context ...focus is digital computation, and it has been revolutionary—creating a computational aspect of every science and giving birth to a new discipline called computer science, starting with Turing in 1936 =-=[Tur37]-=-. Digital computation has even been proposed as a new foundation for physics [Hey02,Whe82,Whe89]. In the late 20th century, the Internet and other networks of machines made distributed computing a tra... |

806 | The Temporal Logic of Actions
- Lamport
- 1994
(Show Context)
Citation Context ...nd formal verification are based on programming logics [ZdRvEB85, Sch97,GT97] or on temporal logic [MP92,MP95], especially Unity [CM88] and TLA[Lam03]. One of the richest is Lamport’s first-order TLA =-=[Lam94]-=- system which has been embedded in theorem provers such as Isabelle [Isa] and the Larch Prover LP. PVS is used extensively as well [KRS99,QS98]. TLA+ is a system with primitives for specifying real-ti... |

739 |
Parallel Program Design: A Foundation
- Chandy, Misra
- 1988
(Show Context)
Citation Context ...lculi [Mil93b,Mil93a,Mil96]. Many logics used for practical reasoning and formal verification are based on programming logics [ZdRvEB85, Sch97,GT97] or on temporal logic [MP92,MP95], especially Unity =-=[CM88]-=- and TLA[Lam03]. One of the richest is Lamport’s first-order TLA [Lam94] system which has been embedded in theorem provers such as Isabelle [Isa] and the Larch Prover LP. PVS is used extensively as we... |

731 | Isabelle/HOL: a proof assistant for higher-order logic, volume 2283 - Nipkow, Paulson, et al. - 2002 |

501 | Introduction to HOL: A Theorem Proving Environment for Higher Order Logic - Gordon, Melham - 1993 |

474 | The calculus of constructions - Coquand, Huet - 1988 |

454 | Chemical abstract machine, in
- Berry, Boudol
- 1990
(Show Context)
Citation Context ...amson Abramsky wrote an article [Abr94] under this title in which linear logic was the basic logic and certain nondeterministic programsM. Bickford and R. L. Constable / Causal Logic of Events 17 in =-=[BB90]-=- were considered as realizers. Robin Milner and his students also took up this challenge, and there are now a number of results along these lines [BGHP98,Mil94]. In this article we take a different ap... |

388 | Temporal Verification of Reactive Systems: Safety - Manna, Pnueli - 1995 |

269 | Constructive mathematics and computer programming - Martin-Löf - 1982 |

263 |
Event structures
- Winskel
- 1986
(Show Context)
Citation Context ...cribed in a declarative language that directly captures Lamport’s insights. 6.2. Related Work Event Systems Winskel considered event systems in his 1980 Ph.D. thesis [Win80] and in other publications =-=[Win89]-=-. He considered relationships to Petri nets and to domain theory and established the generality of event systems. As in our work, he abstracted from Lamport [Lam78] where events are local transitions ... |

177 |
Using branching time temporal logic to synthesize synchronization skeletons
- Emerson, Clarke
- 1982
(Show Context)
Citation Context ...Clarke, Emerson [CE82], and Manna, Wolper [MW84], and Koskimies, Makinen [KM94] for different notions of synthesis that reference the meaning we intend. Temporal logic has a limited role in synthesis =-=[EC82]-=-. For knowledge-based synthesis, we have shown that in principle our current implementation of event theory with knowledge operators can implement the rules and calculus of Engelhardt, v.d. Meyden, an... |

160 |
Synthesis of communicating processes from temporal logic specifications
- Manna, Wolper
- 1984
(Show Context)
Citation Context ...have not been applied to real systems of the kind this effort is focused on and they do not support code synthesis from formal proofs. See also Vardi[Var95], Clarke, Emerson [CE82], and Manna, Wolper =-=[MW84]-=-, and Koskimies, Makinen [KM94] for different notions of synthesis that reference the meaning we intend. Temporal logic has a limited role in synthesis [EC82]. For knowledge-based synthesis, we have s... |

155 | Implementing Mathematics with the Nuprl Proof Development System - Constable, Allen, et al. - 1986 |

151 |
Specifying Systems, The TLA+ Language and Tools for Hardware and Software Engineers
- Lamport
- 2003
(Show Context)
Citation Context ...il now. Equally elusive in the case of networked computation is finding a declarative language for specifying distributed computing problems at very high levels of abstraction. Languages such as TLA+ =-=[Lam03]-=- describe computation at the level of execution models, and even at their most general, such models are not sufficiently abstract to apply well in all the circumstances we have in mind. We present a v... |

150 | Elements of interaction - Milner - 1993 |

108 | Interface Theories for Component-Based Design
- Alfaro, Henzinger
(Show Context)
Citation Context ...of method for several years and have found ways to improve it by building message passing into the semantics of message automata and adding the sends clauses to message automata. Alfaro and Henzinger =-=[dAH01]-=- make the distinction between interface models of components, which assert the existence of a helpful environment in which the component operates properly, and component models, which assert that the ... |

102 |
Proofs as Programs
- Bates, Constable
- 1982
(Show Context)
Citation Context ...ics have enabled a very potent proof technology with applications both to mathematics and to software development. One of the key ideas in the logic of computation is the notion of proofs-as-programs =-=[BC85]-=-, which will be of central concern here. 1.3. The Logical Challenge of Distributed Computing The issue before us now is to find an adequate logic for distributed computing that has the explanatory and... |

99 | Feynman lectures on computation - Feynman - 1996 |

96 |
Let’s Play: Scenario-Based Programming Using LSC’s and the Play-Engine
- Come
- 2003
(Show Context)
Citation Context ... and that every event structure consistent with the program satisfies the specification. Also see [KW01] for a use of automata in the semantics of message sequence diagrams which are also featured in =-=[HM03]-=-.M. Bickford and R. L. Constable / Causal Logic of Events 23 Active Objects The active objects model is similar to our semantics of distributed systems of message automata: objects communicate by pas... |

85 | Modelling knowledge and action in distributed systems - Halpern, Fagin - 1989 |

63 | CC++: A declarative concurrent object oriented programming notation
- Chandy, Kesselman
- 1993
(Show Context)
Citation Context ...fs that system specifications that arise in practice are achievable. The realizers are the Message Automata; they resemble the IO automata of Lynch and Tuttle [LT89], and the active objects of Chandy =-=[CK93]-=-. 5.2. Synthesis of Two-Phased Handshake Protocol In Section 2, we examined two-way alternating communication; now we refine this example by using the link structure. Suppose that process S sends mess... |

61 |
Events in computation
- Winskel
- 1980
(Show Context)
Citation Context ...istributed computing behaviors described in a declarative language that directly captures Lamport’s insights. 6.2. Related Work Event Systems Winskel considered event systems in his 1980 Ph.D. thesis =-=[Win80]-=- and in other publications [Win89]. He considered relationships to Petri nets and to domain theory and established the generality of event systems. As in our work, he abstracted from Lamport [Lam78] w... |

58 | Abstract State Machines Capture Parallel Algorithms - Blass, Gurevich |

49 | Hybrid systems in TLA - Lamport - 1993 |

49 |
An evaluation semantics for classical proofs
- Murthy
- 1991
(Show Context)
Citation Context ...ons of extraction have been built based on the concept of proofs-as-programs (e.g. Alf, MetaPRL, Nuprl, Coq, Lego), and many interesting examples are well-known, including solutions of Higman’s lemma =-=[Mur91]-=- and a recent program for Buchberger’s Gröbner basis algorithm [Thé01]. The extracted functional programs are called realizers for propositions. In this paper we deal with constructive type theory, in... |

48 | On Concurrent Programming - Schneider - 1997 |

47 | Knowledge-based programs - Fagin, Halpern, et al. - 1995 |

47 | Algorithm theories and design tactics - Smith, Lowry - 1990 |

45 |
Empirical Explorations with the LOGIC THEORY Machine: A Case Study in Heuristics
- Newell, Shaw, et al.
- 1963
(Show Context)
Citation Context ...entation of the process of understanding distributed systems and designing protocols for communication, control, and security. This work is part of the long tradition begun by Newell, Simon, and Shaw =-=[NSS57]-=- of automating reasoning. Taken in its full extent, from pure mathematics to the verification of deployed systems, such work is one of the enduring contributions of computer science to intellectual hi... |

44 | The Nuprl open logical environment - Allen, Constable, et al. |

42 | Information, physics, quantum: The search for links - Wheeler - 1990 |

41 |
Proofs as processes
- Abramsky
- 1994
(Show Context)
Citation Context ...d to apply this methodology to concurrent programs by extending the proofsas-programs principle to something worthy of the name proofs-as-processes principle. In 1994 Samson Abramsky wrote an article =-=[Abr94]-=- under this title in which linear logic was the basic logic and certain nondeterministic programsM. Bickford and R. L. Constable / Causal Logic of Events 17 in [BB90] were considered as realizers. Ro... |

38 | Building adaptive systems using ensemble. Software— Practice and Experience - Renesse, KP, et al. - 1998 |

35 | An automata-theoretic approach to fair realizability and synthesis
- Vardi
- 1995
(Show Context)
Citation Context ...well known and deeply studied methods is that they have not been applied to real systems of the kind this effort is focused on and they do not support code synthesis from formal proofs. See also Vardi=-=[Var95]-=-, Clarke, Emerson [CE82], and Manna, Wolper [MW84], and Koskimies, Makinen [KM94] for different notions of synthesis that reference the meaning we intend. Temporal logic has a limited role in synthesi... |

34 | The Horus and Ensemble projects: Accomplishments and limitations - Birman, Constable, et al. - 2000 |

29 | A discipline of multiprogramming - Misra - 1996 |

26 | Isabelle tutorial and user’s manual - Paulson, Nipkow - 1990 |

24 | Innovations in computational type theory using nuprl - Allen, Bickford, et al. |

24 | Mechanizing UNITY in Isabelle
- Paulson
(Show Context)
Citation Context ...abstract concurrent programs. It does not have a method for extracting code from proofs, nor does it have a tactic mechanism. Some work has been done to embed UNITY into theorem provers like Isabelle =-=[Pau99]-=-. The greatest ideas are the greatest events. Nietzsche Acknowledgements We want to thank Rebecca Rich-Goldweber and Cindy Robinson for their excellent help in preparing the manuscript. They both work... |

19 | From action calculi to linear logic - Barber, Gardner, et al. - 1997 |

19 | Chandy. Towards a compositional approach to the design and verification of distributed systems - Charpentier, Mani - 1999 |

17 | On interprocess communication and the implementation of multi-writer atomic registers - Abraham - 1995 |

16 | Software Development by Refinement - Pavlovic, Smith - 2003 |

15 | Constructive mathematics and automatic program writers - Constable - 1971 |

14 | At Home in the Universe - Wheeler - 1996 |