## Existential Types: Logical Relations and Operational Equivalence (1998)

Venue: | In Proceedings of the 25th International Colloquium on Automata, Languages and Programming |

Citations: | 31 - 2 self |

### BibTeX

@INPROCEEDINGS{Pitts98existentialtypes:,

author = {Andrew M. Pitts},

title = {Existential Types: Logical Relations and Operational Equivalence},

booktitle = {In Proceedings of the 25th International Colloquium on Automata, Languages and Programming},

year = {1998},

pages = {309--326},

publisher = {Springer-Verlag}

}

### OpenURL

### Abstract

. Existential types have proved useful for classifying various kinds of information hiding in programming languages, such as occurs in abstract datatypes and objects. In this paper we address the question of when two elements of an existential type are semantically equivalent. Of course, it depends what one means by `semantic equivalence'. Here we take a syntactic approach---so semantic equivalence will mean some kind of operational equivalence. The paper begins by surveying some of the literature on this topic involving `logical relations'. Matters become quite complicated if the programming language mixes existential types with function types and features involving non-termination (such as recursive definitions). We give an example (suggested by Ian Stark) to show that in this case the existence of suitable relations is sufficient, but not necessary for proving operational equivalences at existential types. Properties of this and other examples are proved using a new form of operatio...

### Citations

607 | The Definition of Standard ML (Revised - Harper, Milner, et al. - 1997 |

395 |
LCF considered as a programming language
- Plotkin
- 1977
(Show Context)
Citation Context ...t existential type can be phrased directly, and quite simply, in terms of a programming language's syntax and operational semantics. The language we work with combines a call-by-value version of PCF (=-=Plotkin 1977-=-) with the polymorphic lambda calculus of Girard (1972) and Reynolds (1974). Of course, the ability to define functions by unrestricted fixpoint recursion necessarily entails the presence of non-termi... |

365 |
Towards a Theory of Type Structure
- Reynolds
- 1974
(Show Context)
Citation Context ...extual equivalence at 9-types. We will do this for a programming language combining a call-by-value version of Plotkin's PCF (1977) with record types and the polymorphic lambda calculus (Girard 1972; =-=Reynolds 1974-=-). The types, values (canonical forms), terms and frame stacks of the language are specified in Fig. 1. (The role of frame stacks is explained below.) To simplify the definition of the language's oper... |

364 | Types, abstraction and parametric polymorphism - Reynolds - 1983 |

292 |
Abstract types have existential type
- Mitchell, Plotkin
- 1988
(Show Context)
Citation Context ...s of ff in �� 0 is what distinguishes an existential type from a type-indexed dependent sum, where there is free access both to the type component as well as the term component of a packed term: s=-=ee (Mitchell and Plotkin 1988, p 474 et s-=-eq) for a discussion of this point. The evaluation behaviour of (1) is given by the rule E + (pack �� 0 ; V as 9 ff : ��(ff)) M 0 (�� 0 ; V ) + V 0 (open E as ff; x in M 0 (ff; x)) + V 0 B... |

284 |
Interpretation fonctionelle et elimination des coupures dans l'arithmetique d'ordre superieure. These d'Etat, Universite Paris VII
- Girard
- 1972
(Show Context)
Citation Context ... 2.6 for contextual equivalence at 9-types. We will do this for a programming language combining a call-by-value version of Plotkin's PCF (1977) with record types and the polymorphic lambda calculus (=-=Girard 1972-=-; Reynolds 1974). The types, values (canonical forms), terms and frame stacks of the language are specified in Fig. 1. (The role of frame stacks is explained below.) To simplify the definition of the ... |

203 | Type systems
- Cardelli, Donahue, et al.
- 1997
(Show Context)
Citation Context ...��(ff) is a value if and only if M is. Example 2.1. Consider the existentially quantified record type cell def = 9 ff : fmk : ff; inc : ff ! ff; get : ff ! intg: where int is a type of integers. (=-=See Cardelli 1997-=-, Sect. 3 for typing rules for function and record types.) Values of type cell consist of some type together with values of the appropriate types implementing mk, inc, and get. For example Cell+ def =... |

124 | Formal parametric polymorphism
- Abadi, Cardelli, et al.
- 1993
(Show Context)
Citation Context ...ion of similar principles for the denotational semantics of abstract datatypes over simply typed lambda calculus (Mitchell 1991) and relationally parametric models of the polymorphic lambda calculus (=-=Plotkin and Abadi 1993-=-). It permits many examples of contextual equivalence at 9-types to be proved rather easily. Nevertheless, we will see in Sect. 4 that in the presence of non-termination it is incomplete. 3 An Operati... |

118 | Comparing object encodings - Bruce, Cardelli, et al. - 1999 |

118 | Observable properties of higher order functions that dynamically create local names, or: What’s new
- Pitts, Stark
- 1993
(Show Context)
Citation Context ...ion is devoted to giving an example of this unpleasant phenomenon (based on a suggestion of Ian Stark arising out of our joint work on logical relations for functions and dynamically allocated names, =-=Pitts and Stark 1993-=-). Example 4.1. Consider the following types and terms: pp(ff) def = (ff ! bool) ! bool quant def = 9 ff : pp(ff) null def = 8 ff : ff G def = fun(g(f : null ! bool) = (g f) : bool) G 0 def = fun(g(f ... |

110 | Operational reasoning in functions with local state
- Pitts, Stark
- 1998
(Show Context)
Citation Context ...n x =?(letfun f(x:��) = (M :�� 0 ) in M end): Ordinary function abstraction x : �� : M can be coded as fun(f(x : ��) = M : �� 0 ) where f does not occur freely in M (and �� 0 i=-=s the type of M ). See (Pitts and Stark 1998-=-, pp 234--7) for further examples of this kind of reduced syntax. One slightly subtle aspect of the present language is that restricting the operation of polymorphic generalisationsff : (\Gamma) to ap... |

44 | Logical relations and the typed lambda calculus - Statman - 1985 |

40 | Foundations for Programming Languages. Foundations of Computing - Mitchell - 1996 |

34 | Relational interpretations of recursive types in an operational setting
- Birkedal, Harper
- 1999
(Show Context)
Citation Context ...ility to define the relation by induction on the structure of types. One way round this is to develop syntactical versions of the use of projections for constructing recursively defined domains: see (=-=Birkedal and Harper 1997-=-), for example. It may be better in this case to replace the use of logical relations with methods based upon `bisimilarity-up-to-context': see (Lassen 1998a; Lassen 1998b). We leave this, and the int... |

34 | Lambda-definability and logical relations. Memorandum SAI–RM–4 - Plotkin - 1973 |

33 |
On the equivalence of data representations
- Mitchell
- 1991
(Show Context)
Citation Context ...ional equivalence of programs involving higher order functions and different implementations of an abstract datatype, in terms of the existence of a `simulation' relation between the implementations (=-=Mitchell 1991-=-). This principle was extended to encompass all the (possibly impredicative) existential types of the Girard-Reynolds polymorphic lambda calculus by Plotkin and Abadi (1993). Their Theorem 7 shows tha... |

31 | Relational Reasoning about Functions and Nondeterminism - Lassen - 1998 |

20 | Relational reasoning about contexts - Lassen - 1998 |

3 |
Parametric polymorphism and operational equivalence (preliminary version
- Pitts
- 1998
(Show Context)
Citation Context ...but not a necessary condition for operational equivalence at existential type (see Sect. 4). These results follow using the techniques for defining operationally-based logical relations developed in (=-=Pitts 1998-=-). The purpose of this paper is to explain the results and the background to them outlined above; more detailed proofs will appear elsewhere. 2 Why Consider Relations Between Types? To begin with, we ... |

1 | Eds.), Theoretical Aspects of Computer - Abadi, Ito |