Logical Methods in Computer Science (Jan 2018)

Logical relations for coherence of effect subtyping

  • Dariusz Biernacki,
  • Piotr Polesiuk

DOI
https://doi.org/10.23638/LMCS-14(1:11)2018
Journal volume & issue
Vol. Volume 14, Issue 1

Abstract

Read online

A coercion semantics of a programming language with subtyping is typically defined on typing derivations rather than on typing judgments. To avoid semantic ambiguity, such a semantics is expected to be coherent, i.e., independent of the typing derivation for a given typing judgment. In this article we present heterogeneous, biorthogonal, step-indexed logical relations for establishing the coherence of coercion semantics of programming languages with subtyping. To illustrate the effectiveness of the proof method, we develop a proof of coherence of a type-directed, selective CPS translation from a typed call-by-value lambda calculus with delimited continuations and control-effect subtyping. The article is accompanied by a Coq formalization that relies on a novel shallow embedding of a logic for reasoning about step-indexing.

Keywords