## Operational Semantics and Program Equivalence (2000)

### Cached

### Download Links

- [ftp.cl.cam.ac.uk]
- [www.cl.cam.ac.uk]
- [www.cl.cam.ac.uk]
- [www.cl.cam.ac.uk]
- DBLP

### Other Repositories/Bibliography

Venue: | INRIA Sophia Antipolis, 2000. Lectures at the International Summer School On Applied Semantics, APPSEM 2000, Caminha, Minho |

Citations: | 34 - 4 self |

### BibTeX

@INPROCEEDINGS{Pitts00operationalsemantics,

author = {Andrew M. Pitts},

title = {Operational Semantics and Program Equivalence},

booktitle = {INRIA Sophia Antipolis, 2000. Lectures at the International Summer School On Applied Semantics, APPSEM 2000, Caminha, Minho},

year = {2000},

pages = {378--412},

publisher = {Springer-Verlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

This tutorial paper discusses a particular style of operational semantics that enables one to give a `syntax-directed' inductive definition of termination which is very useful for reasoning about operational equivalence of programs. We restrict attention to contextual equivalence of expressions in the ML family of programming languages, concentrating on functions involving local state. A brief tour of structural operational semantics culminates in a structural definition of termination via an abstract machine using `frame stacks'. Applications of this to reasoning about contextual equivalence are given.

### Citations

1286 | A structural approach to operational semantics
- Plotkin
- 1981
(Show Context)
Citation Context ...inition of termination that facilitates inductive reasoning about contextual equivalence, =ctx. To achieve that, we need to review the original approach to structural operational semantics of Plotkin =-=[17]-=- and subsequent refinements of it. 4 Structural Operational Semantics The inductively defined ML evaluation relation (Fig. 2 and Sect. A.3) is an example of the Structural approach to Operational Sema... |

605 |
The Definition of Standard ML (Revised
- Milner, Tofte, et al.
- 1997
(Show Context)
Citation Context ...of programs (or fragments of programs) in the ML language—or rather, in a core language with function and reference types that is common to the various languages in the ML family, such as Standard M=-=L [9]-=- and Caml [5] 1 .MLisafunctional programming language because it treats functions as values on a par with more concrete forms of data: functions can be passed as arguments, can be returned as the resu... |

539 | A Syntactic Approach to Type Soundness
- Wright, Felleisen
- 1994
(Show Context)
Citation Context ... However, I will try to show that one particular and possibly unfamiliar approach to structural operational semantics using a ‘frame stack’ formalism—derived from the approach of Wright and Fell=-=eisen [18] and u-=-sed in the redefinition of ML by Harper and Stone [6]—provides a more convenient basis for developing properties of contextual equivalence of programs than does the evaluation (or ‘natural’, or ... |

110 | Operational reasoning in functions with local state
- Pitts, Stark
- 1998
(Show Context)
Citation Context ...ndard ML [9]. Further Reading. Most of the examples and technical results in this paper to do with operational properties of ML functions with local references are covered in more detail in the paper =-=[15]-=- written jointly with Ian Stark. More recent work on this topic includes the use of labelled transition systems and bisimulations by Jeffrey and Rathke [7]; and the use by Aboul-Hosn and Hannan of sta... |

75 | Operationally-based theories of program equivalence
- Pitts
- 1997
(Show Context)
Citation Context ...ted, or both. Consequently a sort of ‘back to basics’ movement has arisen that attempts to develop theories of program equivalence for highlevel languages based directly on operational semantics (=-=see [11]-=- for some of the literature). There are several different styles of structural operational semantics (which I will briefly survey). However, I will try to show that one particular and possibly unfamil... |

74 | Parametric polymorphism and operational equivalence
- Pitts
- 2000
(Show Context)
Citation Context ...give a more tractable theory of equivalence [1]. The use of logical relations based on abstract machine semantics to analyse other programming language features, such as polymorphism, is developed in =-=[13, 14, 3]-=-; see also [2] and [6]. Exercises. Some exercises are given in Appendix B. Notation. A list of the notations used in this paper is given in Appendix C. Acknowledgement. I am grateful to members of the... |

48 |
A Functional Approach to Programming
- Cousineau, Mauny
- 1998
(Show Context)
Citation Context ...or fragments of programs) in the ML language—or rather, in a core language with function and reference types that is common to the various languages in the ML family, such as Standard ML [9] and Cam=-=l [5]-=- 1 .MLisafunctional programming language because it treats functions as values on a par with more concrete forms of data: functions can be passed as arguments, can be returned as the result of computa... |

37 | An interpretation of Standard ML in type theory
- Harper, Stone
- 1997
(Show Context)
Citation Context ...y unfamiliar approach to structural operational semantics using a ‘frame stack’ formalism—derived from the approach of Wright and Felleisen [18] and used in the redefinition of ML by Harper and =-=Stone [6]—provide-=-s a more convenient basis for developing properties of contextual equivalence of programs than does the evaluation (or ‘natural’, or ‘big-step’) semantics used in the official definition of St... |

35 | Operational properties of Lily, a polymorphic linear lambda calculus with recursion
- Bierman, Pitts, et al.
- 2000
(Show Context)
Citation Context ...give a more tractable theory of equivalence [1]. The use of logical relations based on abstract machine semantics to analyse other programming language features, such as polymorphism, is developed in =-=[13, 14, 3]-=-; see also [2] and [6]. Exercises. Some exercises are given in Appendix B. Notation. A list of the notations used in this paper is given in Appendix C. Acknowledgement. I am grateful to members of the... |

34 | Relational interpretations of recursive types in an operational setting
- Birkedal, Harper
- 1999
(Show Context)
Citation Context ...ure of types. In the presence of recursive types one has to use some other approach in order to avoid a circular definition; here syntactic versions of the construction of recursively defined domains =-=[4]-=- may be of assistance. A more subtle problem is that some of our definitions (for example the notion of extension of state-relations in Definition 5.1) exploit the fact that we restricted attention to... |

34 |
Lambda-definability and logical relations. Memorandum SAI–RM–4
- Plotkin
- 1973
(Show Context)
Citation Context ...) v1 ≤r v2 : ty 1 -> ty 2 if and only if for all r ′ ✄ r and all v ′ 1,v ′ 2 v ′ 1 ≤r ′ v′ 2 : ty 1 ⊃ v1 v ′ 1 ≤r ′ v2 v ′ 2 : ty 2. (The last property is characteristic of=-= (Kripke) logical relations [16, 10].) (III) T-=-he relationship between ≤r and contextual equivalence: for all types ty, finite sets w of locations, and programs e1,e2 ∈ Prog ty(w) e1 ≤ctx e2 : ty iff e1 ≤id w e2 : ty where id w ∈ Rel(w, ... |

32 | Reasoning about local variables with operationally-based logical relations. LICS
- Pitts
- 1996
(Show Context)
Citation Context ... abstractions), if we take ‘equal’ to mean contextually equivalent. – True for pure functional programming languages (see [11]). – True for languages with Algol-like block-structured local sta=-=te (see [12]-=-). Fig. 1. Function Extensionality Principle not contextually equivalent. To see this consider the following Caml interaction, where we observe a difference between the two expressions3 . # let f = le... |

31 | Kripke logical relations and PCF
- O’Hearn, Riecke
- 1995
(Show Context)
Citation Context ...f =(x : ty) ->e) ≤ctx g : ty -> ty ′ ≡ ∀n ≥ 0(fn ≤ctx g : ty -> ty ′ ) (9) where the expressions fn are the ‘finite unfoldings’ of fun f =(x : ty) ->e, defined as follows: � f0 �=-= fun f =(x : ty) ->fx (10) fn+1 ��-=-� fun(x : ty) ->e[fn/f ] The least upper bound property in equation (9) follows immediately from the definition of ≤ctx and the following ‘Unwinding Theorem’. Theorem 5.3 (An unwinding theorem).... |

31 | Existential Types: Logical Relations and Operational Equivalence
- Pitts
- 1998
(Show Context)
Citation Context ...give a more tractable theory of equivalence [1]. The use of logical relations based on abstract machine semantics to analyse other programming language features, such as polymorphism, is developed in =-=[13, 14, 3]-=-; see also [2] and [6]. Exercises. Some exercises are given in Appendix B. Notation. A list of the notations used in this paper is given in Appendix C. Acknowledgement. I am grateful to members of the... |

27 | Monads, effects, and transformations
- Benton, Kennedy
(Show Context)
Citation Context ...theory of equivalence [1]. The use of logical relations based on abstract machine semantics to analyse other programming language features, such as polymorphism, is developed in [13, 14, 3]; see also =-=[2]-=- and [6]. Exercises. Some exercises are given in Appendix B. Notation. A list of the notations used in this paper is given in Appendix C. Acknowledgement. I am grateful to members of the audience of t... |

23 | Towards a theory of bisimulation for local names
- Jeffrey, Rathke
- 1999
(Show Context)
Citation Context ...ces are covered in more detail in the paper [15] written jointly with Ian Stark. More recent work on this topic includes the use of labelled transition systems and bisimulations by Jeffrey and Rathke =-=[7]-=-; and the use by Aboul-Hosn and Hannan of static restric1 I will use the concrete syntax of Caml.s380 Andrew M. Pitts tions on local state in functions to give a more tractable theory of equivalence [... |

5 |
Natural semantics, Rapport de Recherche 601
- Kahn
- 1987
(Show Context)
Citation Context ... ′ s ′ ,e2[v1/x ] ⇒ v2,s ′′ s, let x = e1 in e2 ⇒ v2,s ′′ (See Sect. A.3 for the full definition.) Specifying semantics via such an evaluation relation is also known as big-step (anon)=-=, natural (Kahn [8]-=-), or relational (Milner) semantics. Fig. 2. ML Evaluation Relation (simplified, environment-free form) definition of the notion of contextual equivalence, how do we give a rigorous proof that the exp... |

1 |
Program equivalence with private state
- Aboul-Hosn, Hannan
- 2002
(Show Context)
Citation Context ...]; and the use by Aboul-Hosn and Hannan of static restric1 I will use the concrete syntax of Caml.s380 Andrew M. Pitts tions on local state in functions to give a more tractable theory of equivalence =-=[1]-=-. The use of logical relations based on abstract machine semantics to analyse other programming language features, such as polymorphism, is developed in [13, 14, 3]; see also [2] and [6]. Exercises. S... |