We propose ⊤ ⊤-lifting as a technique for extending operational predicates to Moggi’s monadic computation types, independent of the choice of monad. We demonstrate the method with an application to Girard-Tait reducibility, using this to prove strong normalisation for the computational metalanguage λ ml . The particular challenge with reducibility is to apply this semantic notion at computation types when the exact meaning of “computation” (stateful, side-effecting, nondeterministic, etc.) is left unspecified. Our solution is to define reducibility for continuations and use that to support the jump from value types to computation types. The method appears robust: we apply it to show strong normalisation for the computational metalanguage extended with sums, and with exceptions. Based on these results, as well as previous work with local state, we suggest that this “leap-frog” approach offers a general method for raising concepts defined at value types up to observable properties of computations.
|Title of host publication||Typed Lambda Calculi and Applications|
|Subtitle of host publication||TLCA 2005|
|Number of pages||16|
|Publication status||Published - 2005|
|Name||Lecture Notes in Computer Science|
Lindley, S., & Stark, I. (2005). Reducibility and ⊤ ⊤-Lifting for Computation Types. In Typed Lambda Calculi and Applications: TLCA 2005 (pp. 262-277). (Lecture Notes in Computer Science; Vol. 3461). Springer. https://doi.org/10.1007/11417170_20