Results 11 - 20
of
21
Lax Logical Relations
- In 27th Intl. Colloq. on Automata, Languages and Programming, volume 1853 of LNCS
, 2000
"... Lax logical relations are a categorical generalisation of logical relations; though they preserve product types, they need not preserve exponential types. But, like logical relations, they are preserved by the meanings of all lambda-calculus terms. We show that lax logical relations coincide with th ..."
Abstract
-
Cited by 15 (2 self)
- Add to MetaCart
Lax logical relations are a categorical generalisation of logical relations; though they preserve product types, they need not preserve exponential types. But, like logical relations, they are preserved by the meanings of all lambda-calculus terms. We show that lax logical relations coincide with the correspondences of Schoett, the algebraic relations of Mitchell and the pre-logical relations of Honsell and Sannella on Henkin models, but also generalise naturally to models in cartesian closed categories and to richer languages.
A Complete Characterization of Observational Equivalence in Polymorphic λ-Calculus with General References
, 2009
"... We give a (sound and complete) characterization of observational equivalence in full polymorphic λ-calculus with existential types and first-class, higher-order references. Our method is syntactic and elementary in the sense that it only employs simple structures such as relations on terms. It is ne ..."
Abstract
-
Cited by 14 (2 self)
- Add to MetaCart
We give a (sound and complete) characterization of observational equivalence in full polymorphic λ-calculus with existential types and first-class, higher-order references. Our method is syntactic and elementary in the sense that it only employs simple structures such as relations on terms. It is nevertheless powerful enough to prove many interesting equivalences that can and cannot be proved by previous approaches, including the latest work by Ahmed, Dreyer and Rossberg (to appear in POPL 2009). 1.
Classes = Objects + Data Abstraction
, 1996
"... We describe a type-theoretic foundation for object systems that include "interface types" and "implementation types," in the process accounting for access controls such as C++ private, protected and public levels of visibility. Our approach begins with a basic object calculus that provides a noti ..."
Abstract
-
Cited by 7 (1 self)
- Add to MetaCart
We describe a type-theoretic foundation for object systems that include "interface types" and "implementation types," in the process accounting for access controls such as C++ private, protected and public levels of visibility. Our approach begins with a basic object calculus that provides a notion of object, method lookup, and object extension (an object-based form of inheritance). In this calculus, the type of an object gives an interface, as a set of methods (public member functions) and their types, but does not imply any implementation properties such as the presence or layout of any hidden internal data. We extend the core object calculus with a higher-order form of data abstraction mechanism that allows us to declare supertypes of an abstract type and a list of methods guaranteed not to be present. This results in a flexible framework for studying and improving practical programming languages where the type of an object gives certain implementation guarantees, such as would be needed to statically determine the offset of a function in a method lookup table or safely implement binary operations without exposing the internal representation of objects. We prove type soundness for the entire language using operational semantics and an analysis of typing derivations. Two insights that are immediate consequences of our analysis are the identification of an anomaly associated with C++ private virtual functions and a principled, type-theoretic explanation (for the first time, as far as we know) of the link between subtyping and inheritance in C++ , Eiffel and related languages.
Specification Refinement with System F
- In Proc. CSL'99, volume 1683 of LNCS
, 1999
"... . Essential concepts of algebraic specification refinement are translated into a type-theoretic setting involving System F and Reynolds' relational parametricity assertion as expressed in Plotkin and Abadi's logic for parametric polymorphism. At first order, the type-theoretic setting provides a ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
. Essential concepts of algebraic specification refinement are translated into a type-theoretic setting involving System F and Reynolds' relational parametricity assertion as expressed in Plotkin and Abadi's logic for parametric polymorphism. At first order, the type-theoretic setting provides a canonical picture of algebraic specification refinement. At higher order, the type-theoretic setting allows future generalisation of the principles of algebraic specification refinement to higher order and polymorphism. We show the equivalence of the acquired type-theoretic notion of specification refinement with that from algebraic specification. To do this, a generic algebraic-specification strategy for behavioural refinement proofs is mirrored in the type-theoretic setting. 1 Introduction This paper aims to express in type theory certain essential concepts of algebraic specification refinement. The benefit to algebraic specification is that inherently first-order concepts are tra...
Relating Cryptography and Polymorphism
, 2000
"... Cryptography is information hiding. Polymorphism is also information hiding. So is cryptography polymorphic? Is polymorphism cryptographic? To investigate these questions, we dene the cryptographic -calculus, a simply typed -calculus with shared-key cryptographic primitives. Although this calculus i ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Cryptography is information hiding. Polymorphism is also information hiding. So is cryptography polymorphic? Is polymorphism cryptographic? To investigate these questions, we dene the cryptographic -calculus, a simply typed -calculus with shared-key cryptographic primitives. Although this calculus is simply typed, it is powerful enough to encode recursive functions, recursive types, and dynamic typing. We then develop a theory of relational parametricity for our calculus as Reynolds did for the polymorphic -calculus. This theory is useful for proving equivalences in our calculus; for instance, it implies the non-interference property: values encrypted by a key cannot be distinguished from one another by any function ignorant of the key. We close with an encoding of the polymorphic -calculus into the cryptographic calculus that uses cryptography to protect type abstraction. Our results shed a new light upon the relationship between cryptography and polymorphism, and oer a rst ste...
Genericity and the π-Calculus
, 2003
"... Types in processes delineate specific classes of interactive behaviour in a compositional way. Key elements of process theory, in particular behavioural equivalences, are deeply affected by types, leading to applications in the description and analysis of diverse forms of computing. As one of the ex ..."
Abstract
-
Cited by 3 (0 self)
- Add to MetaCart
Types in processes delineate specific classes of interactive behaviour in a compositional way. Key elements of process theory, in particular behavioural equivalences, are deeply affected by types, leading to applications in the description and analysis of diverse forms of computing. As one of the examples of types for processes, this paper introduces a second-order polymorphic π-calculus based on duality principles, building on type structures coming from typed π-calculi, Linear Logic and game semantics. Of various extensions of first-order typed π-calculi with polymorphism, the present paper focusses on the linear polymorphic π-calculus, extending its first-order counterpart [46]. Fundamental elements of the theory of linear polymorphic processes are studied, including establishment of their strong normalisability using Girard’s “candidates”, introduction of a behavioural theory of polymorphic labelled transitions which strengthens Pierce-embedding of System F in polymorphic processes, establishing a precise connection between the universe of polymorphic functions and the universe of polymorphic processes. The proof combines processtheoretic nature of polymorphic labelled transitions plays an essential role in full abstraction, elucidating subtle aspects of polymorphism in functions and interaction.
A higher-order simulation relation for System F
- Proc. 3rd Intl. Conf. on Foundations of Software Science and Computation Structures. ETAPS 2000
, 2000
"... The notion of data type specification refinement is discussed in a setting of System F and the logic for parametric polymorphism of Plotkin and Abadi. At first order, one gets a notion of specification refinement up to observational equivalence in the logic simply by using Luo's formalism. This pap ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
The notion of data type specification refinement is discussed in a setting of System F and the logic for parametric polymorphism of Plotkin and Abadi. At first order, one gets a notion of specification refinement up to observational equivalence in the logic simply by using Luo's formalism. This paper generalises this notion to abstract data types whose signatures contain higher-order and polymorphic functions. At higher order, the tight connection in the logic between the existence of a simulation relation and observational equivalence ostensibly breaks down. We show that an alternative notion of simulation relation is suitable. This also gives a simulation relation in the logic that composes at higher order, thus giving a syntactic logical counterpart to recent advances on the semantic level.
Behavioural equivalence and indistinguishability in higher-order typed languages
- 16TH INTL. WORKSHOP ON ALGEBRAIC DEVELOPMENT TECHNIQUES, FRAUENCHIEMSEE. SPRINGER LNCS
, 2003
"... We extend the study of the relationship between behavioural equivalence and the indistinguishability relation[4, 7] to the simply typed lambda calculus, where higher-order types are available. The relationship between these two notions is established in terms of factorisability[4]. The main techni ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
We extend the study of the relationship between behavioural equivalence and the indistinguishability relation[4, 7] to the simply typed lambda calculus, where higher-order types are available. The relationship between these two notions is established in terms of factorisability[4]. The main technical tool of this study is pre-logical relations[8], which give a precise characterisation of behavioural equivalence. We then consider a higher-order logic to reason about models of the simply typed lambda calculus, and relate the resulting standard satisfaction relation to behavioural satisfaction.
Unfolding abstract datatypes
- In MPC ’08: Proceedings of the 9th international conference on Mathematics of Program Construction
, 2008
"... Abstract. We argue that abstract datatypes — with public interfaces hiding private implementations — represent a form of codata rather than ordinary data, and hence that proof methods for corecursive programs are the appropriate techniques to use for reasoning with them. In particular, we show that ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
Abstract. We argue that abstract datatypes — with public interfaces hiding private implementations — represent a form of codata rather than ordinary data, and hence that proof methods for corecursive programs are the appropriate techniques to use for reasoning with them. In particular, we show that the universal properties of unfold operators are perfectly suited for the task. We illustrate with the solution to a problem in the recent literature. 1
Correctness of a garbage collector via local reasoning
, 2003
"... All rights reserved. Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy. ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
All rights reserved. Reproduction of all or part of this work is permitted for educational or research use on condition that this copyright notice is included in any copy.

