## Axiomatizing Operational Equivalence in the presence of Side Effects (1989)

Venue: | In Fourth Annual Symposium on Logic in Computer Science. IEEE |

Citations: | 19 - 9 self |

### BibTeX

@INPROCEEDINGS{Mason89axiomatizingoperational,

author = {Ian Mason and Carolyn Talcott},

title = {Axiomatizing Operational Equivalence in the presence of Side Effects},

booktitle = {In Fourth Annual Symposium on Logic in Computer Science. IEEE},

year = {1989},

pages = {284--293},

publisher = {IEEE Computer Society Press}

}

### OpenURL

### Abstract

this paper we present a formal system for deriving assertions about programs with side effects. The assertions we consider are of the following two forms: (i) e diverges (i.e. fails to reduce to a value), written " e; (ii) e 0 and e 1 are strongly isomorphic (i.e. reduce to the same value and have the same effect on memory up to production of garbage), written

### Citations

186 | Fast decision procedures based on congruence closure
- Nelson, Oppen
- 1980
(Show Context)
Citation Context ...ning about programs with memory. Oppen [14] gives a decision procedure for the firstorder theory of pure Lisp, i.e. the theory of atom, car , cdr , cons over acyclic list structures. Nelsen and Oppen =-=[13]-=- treat the quantifier-free case over possibly cyclic list structures. Neither treats updating operations. Boehm [1] defines a first-order theory for reasoning about programs in the language Russell wh... |

171 |
Call-by-name, call-by-value, and the lambda calculus
- Plotkin
- 1975
(Show Context)
Citation Context ...ma ` \Phi, then \Sigma j= \Phi. Theorem 2 The deduction system is complete for \Phi not containing recursively defined function symbols: if \Sigma j= \Phi, then \Sigma ` \Phi. Operational equivalence =-=[11, 15]-=- abstracts the operational semantics of programs and is the basis for soundness results for program calculi and program Current address: Computer Science Department, Stanford University y This researc... |

128 |
Lambda Calculus Models of Programming Languages
- Morris
- 1968
(Show Context)
Citation Context ...ma ` \Phi, then \Sigma j= \Phi. Theorem 2 The deduction system is complete for \Phi not containing recursively defined function symbols: if \Sigma j= \Phi, then \Sigma ` \Phi. Operational equivalence =-=[11, 15]-=- abstracts the operational semantics of programs and is the basis for soundness results for program calculi and program Current address: Computer Science Department, Stanford University y This researc... |

48 |
Reasoning about recursively defined data structures
- Oppen
- 1980
(Show Context)
Citation Context ...eness we obtain a decision procedure for the semantic consequence relation. This is an important step towards developing computer-aided deduction tools for reasoning about programs with memory. Oppen =-=[14]-=- gives a decision procedure for the firstorder theory of pure Lisp, i.e. the theory of atom, car , cdr , cons over acyclic list structures. Nelsen and Oppen [13] treat the quantifier-free case over po... |

33 |
The Calculi of lambda-v-cs Conversion: A Syntactic Theory of Control and State in Imperative Higher-Order Programming Languages
- Felleisen
- 1987
(Show Context)
Citation Context ... treating programs with memory and function abstractions and develop the theory of operational equivalence for this case. More complete surveys of reasoning about programs with memory can be found in =-=[5, 6, 7, 2, 3]-=-. The remainder of this paper is organized as follows. We first define our language and its operational semantics. We then present the axioms and rules of the formal system. Following that we define m... |

26 | Programming, transforming, and proving with function abstractions and memories
- Mason, Talcott
- 1989
(Show Context)
Citation Context ...of proving program equivalence can be found in [8, 6, 7]. Felleisen [3] develops a calculus for reasoning about programs with memory, function abstractions and control abstractions. Mason and Talcott =-=[9]-=- give an alternative approach to treating programs with memory and function abstractions and develop the theory of operational equivalence for this case. More complete surveys of reasoning about progr... |

23 |
Side Effects and Aliasing Can Have Simple Axiomatic Descriptions
- Boehm
- 1985
(Show Context)
Citation Context ...the theory of atom, car , cdr , cons over acyclic list structures. Nelsen and Oppen [13] treat the quantifier-free case over possibly cyclic list structures. Neither treats updating operations. Boehm =-=[1]-=- defines a first-order theory for reasoning about programs in the language Russell which includes facilities for allocating and modifying memory. Some relative completeness results are given, but no d... |

23 |
The Semantics of Destructive Lisp
- Mason
- 1986
(Show Context)
Citation Context ...s for allocating and modifying memory. Some relative completeness results are given, but no decidable fragments are considered. The semantics of the full first-order Lisp-like language was studied in =-=[5, 6]-=-. Here the model-theoretic equivalence strong isomorphism was introduced and used as the basis for studying program equivalence. Many examples of proving program equivalence can be found in [8, 6, 7].... |

13 |
V-CS: an extended -calculus for Scheme
- Felleisen
- 1988
(Show Context)
Citation Context ...model-theoretic equivalence strong isomorphism was introduced and used as the basis for studying program equivalence. Many examples of proving program equivalence can be found in [8, 6, 7]. Felleisen =-=[3]-=- develops a calculus for reasoning about programs with memory, function abstractions and control abstractions. Mason and Talcott [9] give an alternative approach to treating programs with memory and f... |

9 | A sound and complete axiomatization of operational equivalence between programs with memory
- Mason, Talcott
- 1989
(Show Context)
Citation Context ...teness theorem. To do this we develop a syntactic representation of the operational semantics which is also useful for reasoning about programs in general. A full account of the proof may be found in =-=[10]-=-. We conclude this section with a summary of notational conventions. We use the usual notation for set membership and function application. Let Y; Y 0 ; Y 1 be sets. Y n is the set of sequences of ele... |

3 |
Equivalence of first order Lisp programs: Proving properties of destructive programs via transformation
- Mason
- 1986
(Show Context)
Citation Context ...s for allocating and modifying memory. Some relative completeness results are given, but no decidable fragments are considered. The semantics of the full first-order Lisp-like language was studied in =-=[5, 6]-=-. Here the model-theoretic equivalence strong isomorphism was introduced and used as the basis for studying program equivalence. Many examples of proving program equivalence can be found in [8, 6, 7].... |

2 |
Memories of S-expressions: Proving properties of Lisp-like programs that destructively alter memory
- Mason, Talcott
- 1985
(Show Context)
Citation Context ... in [5, 6]. Here the model-theoretic equivalence strong isomorphism was introduced and used as the basis for studying program equivalence. Many examples of proving program equivalence can be found in =-=[8, 6, 7]-=-. Felleisen [3] develops a calculus for reasoning about programs with memory, function abstractions and control abstractions. Mason and Talcott [9] give an alternative approach to treating programs wi... |

1 | Deriving and using destructive data types, IFIP TC2 working conference on program specification and transformation - J��rring, Scherlis - 1986 |

1 |
Verification of programs which destructively alter data
- Mason
- 1988
(Show Context)
Citation Context ... in [5, 6]. Here the model-theoretic equivalence strong isomorphism was introduced and used as the basis for studying program equivalence. Many examples of proving program equivalence can be found in =-=[8, 6, 7]-=-. Felleisen [3] develops a calculus for reasoning about programs with memory, function abstractions and control abstractions. Mason and Talcott [9] give an alternative approach to treating programs wi... |

1 |
A basic abstract semantic algebra, in: Semantics of data types, international symposium, Sophia-Antipolis
- Mosses
- 1984
(Show Context)
Citation Context ...ver the loss of the beta rule poses a serious problem for reasoning about programs. This approach also violates the principle of separating the mechanism for binding from that of allocation of memory =-=[12]-=-. Following the Scheme tradition, Felleisen [2] takes the Lisp approach to provide objects with memory. In order to obtain a reasonable calculus of programs, the programming language is extended to pr... |