Logical relations for coherence of effect subtyping

10/25/2017
by   Dariusz Biernacki, et al.
0

A coercion semantics of a programming language with subtyping is typically defined on typing derivations rather than on typing judgments. To avoid semantic ambi- guity, such a semantics is expected to be coherent, i.e., independent of the typing deriva- tion for a given typing judgment. In this article we present heterogeneous, biorthogonal, step-indexed logical relations for establishing the coherence of coercion semantics of pro- gramming 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.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset