Affiliation:
1. MPI-SWS, Saarbruecken, Germany
2. IT University of Copenhagen, Copenhagen, Denmark
Abstract
Reasoning about program equivalence is one of the oldest problems in semantics. In recent years, useful techniques have been developed, based on bisimulations and logical relations, for reasoning about equivalence in the setting of increasingly realistic languages - languages nearly as complex as ML or Haskell. Much of the recent work in this direction has considered the interesting representation independence principles
enabled
by the use of local state, but it is also important to understand the principles that powerful features like higher-order state and control effects
disable
. This latter topic has been broached extensively within the framework of game semantics, resulting in what Abramsky dubbed the "semantic cube": fully abstract game-semantic characterizations of various axes in the design space of ML-like languages. But when it comes to reasoning about many actual examples, game semantics does not yet supply a useful technique for proving equivalences.
In this paper, we marry the aspirations of the semantic cube to the powerful proof method of
step-indexed Kripke logical relations
. Building on recent work of Ahmed, Dreyer, and Rossberg, we define the first fully abstract logical relation for an ML-like language with recursive types, abstract types, general references and call/cc. We then show how, under orthogonal restrictions to the expressive power our language - namely, the restriction to first-order state and/or the removal of call/cc - we can enhance the proving power of our possible-worlds model in correspondingly orthogonal ways, and we demonstrate this proving power on a range of interesting examples. Central to our story is the use of
state transition systems
to model the way in which properties of local state evolve over time.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
22 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A program logic for fresh name generation;Science of Computer Programming;2022-11
2. Two Parametricities Versus Three Universal Types;ACM Transactions on Programming Languages and Systems;2022-09-21
3. Efficient and provable local capability revocation using uninitialized capabilities;Proceedings of the ACM on Programming Languages;2021-01-04
4. A Program Logic for Fresh Name Generation;Fundamentals of Software Engineering;2021
5. Signature restriction for polymorphic algebraic effects;Proceedings of the ACM on Programming Languages;2020-08-02