Step-Indexed Syntactic Logical Relations for Recursive and Quantified Types
نویسنده
چکیده
We present a proof technique, based on syntactic logical relations, for showing contextual equivalence of expressions in a λ-calculus with recursive types and impredicative universal and existential types. We show that for recursive and polymorphic types, the method is both sound and complete with respect to contextual equivalence, while for existential types, it is sound but incomplete. Our development builds on the step-indexed PER model of recursive types presented by Appel and McAllester. We have discovered that a direct proof of transitivity of that model does not go through, leaving the “PER” status of the model in question. We show how to extend the Appel-McAllester model to obtain a logical relation that we can prove is transitive, as well as sound and complete with respect to contextual equivalence. We then augment this model to support relational reasoning in the presence of quantified types. Step-indexed relations are indexed not just by types, but also by the number of steps available for future evaluation. This stratification is essential for handling various circularities, from recursive functions, to recursive types, to impredicative polymorphism. The resulting construction is more elementary than existing logical relations which require complex machinery such as domain theory, admissibility, syntactic minimal invariance, and >>-closure.
منابع مشابه
A Step-indexed Semantics of Imperative Objects
Step-indexed semantic interpretations of types were proposed as an alternative to purely syntactic proofs of type safety using subject reduction. The types are interpreted as sets of values indexed by the number of computation steps for which these values are guaranteed to behave like proper elements of the type. Building on work by Ahmed, Appel and others, we introduce a step-indexed semantics...
متن کاملStep-indexed Semantic Model of Types for the Functional Object Calculus
Step-indexed semantic models of types were proposed as an alternative to the purely syntactic proofs of type safety using subject-reduction. This thesis introduces a step-indexed model for the functional object calculus, and uses it to prove the soundness of an expressive type system with object types, subtyping, recursive and bounded quantified types.
متن کاملStep-Indexed Biorthogonality: a Tutorial Example
The purpose of this note is to illustrate the use of step-indexing [2] combined with biorthogonality [10, 9] to construct syntactical logical relations. It walks through the details of a syntactically simple, yet non-trivial example: a proof of the “CIU Theorem” for contextual equivalence in the untyped call-by-value λ-calculus with recursively defined functions. I took as inspiration two works...
متن کاملStep-Indexed Logical Relations for Probability
It is well-known that constructing models of higher-order probabilistic programming languages is challenging. We show how to construct step-indexed logical relations for a probabilistic extension of a higher-order programming language with impredicative polymorphism and recursive types. We show that the resulting logical relation is sound and complete with respect to the contextual preorder and...
متن کاملA Step-indexed Semantics of Imperative Objects (Extended Version)
Step-indexed semantic models of types were proposed as an alternative to purely syntactic proofs of type safety using subject reduction. Building on work by Ahmed, Appel and others, we introduce a step-indexed model for the imperative object calculus of Abadi and Cardelli. Providing a semantic account of this calculus using more ‘traditional’, domain-theoretic approaches has proved challenging ...
متن کامل