Affiliation:
1. MPI-SWS, Saarbrücken, Germany
2. IT University of Copenhagen, Copenhagen, Denmark
Abstract
The method of logical relations is a classic technique for proving the equivalence of higher-order programs that implement the same observable behavior but employ different internal data representations. Although it was originally studied for pure, strongly normalizing languages like System F, it has been extended over the past two decades to reason about increasingly realistic languages. In particular, Appel and McAllester's idea of step-indexing has been used recently to develop syntactic Kripke logical relations for ML-like languages that mix functional and imperative forms of data abstraction. However, while step-indexed models are powerful tools, reasoning with them directly is quite painful, as one is forced to engage in tedious step-index arithmetic to derive even simple results.
In this paper, we propose a logic LADR for equational reasoning about higher-order programs in the presence of existential type abstraction, general recursive types, and higher-order mutable state. LADR exhibits a novel synthesis of features from Plotkin-Abadi logic, Gödel-Löb logic, S4 modal logic, and relational separation logic. Our model of LADR is based on Ahmed, Dreyer, and Rossberg's state-of-the-art step-indexed Kripke logical relation, which was designed to facilitate proofs of representation independence for "state-dependent" ADTs. LADR enables one to express such proofs at a much higher level, without counting steps or reasoning about the subtle, step-stratified construction of possible worlds.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Temporal Refinements for Guarded Recursive Types;Programming Languages and Systems;2021
2. Type-Based Declassification for Free;Formal Methods and Software Engineering;2020
3. ReLoC;Proceedings of the 33rd Annual ACM/IEEE Symposium on Logic in Computer Science;2018-07-09
4. State Based Encapsulation for Modular Reasoning about Behavior-Preserving Refactorings;Lecture Notes in Computer Science;2013
5. First steps in synthetic guarded domain theory: step-indexing in the topos of trees;Logical Methods in Computer Science;2012-10-03