posted on 2001-01-01, 00:00authored byDaniel R. Licata, Robert Harper
ML5 is a programming language for spatially distributed computing, based on a Curry-Howard correspondence
with the modal logic S5. However, the ML5 programming language differs from the
logic in several ways. In this paper, we give a semantic embedding of ML5 into the dependently
typed programming language Agda, which both explains these discrepancies between ML5 and S5
and suggests some simplifications and generalizations of the language. Our embedding translates
ML5 into a slightly different logic: intuitionistic S5 extended with a lax modality that encapsulates
effectful computations in a monad. Rather than formalizing lax S5 as a proof theory, we embed it
as a universe within the the dependently typed host language, with the universe elimination given by
implementing the modal logic’s Kripke semantics.