摘要:A coercion semantics of a programming language with subtyping is typicallydefined on typing derivations rather than on typing judgments. To avoidsemantic ambiguity, such a semantics is expected to be coherent, i.e.,independent of the typing derivation for a given typing judgment. In thisarticle we present heterogeneous, biorthogonal, step-indexed logical relationsfor establishing the coherence of coercion semantics of programming languageswith subtyping. To illustrate the effectiveness of the proof method, we developa proof of coherence of a type-directed, selective CPS translation from a typedcall-by-value lambda calculus with delimited continuations and control-effectsubtyping. The article is accompanied by a Coq formalization that relies on anovel shallow embedding of a logic for reasoning about step-indexing.