S4 modal sequent calculus as intermediate logic and intermediate language
By: Jean Caspar, Guillaume Munch-Maccagnoni
In this short paper, we advocate for the idea that continuation-based intermediate languages correspond to intermediate logics. The goal of intermediate languages is to serve as a basis for compiler intermediate representations, allowing to represent expressive program transformations for optimisation and compilation, while preserving the properties that make programs compilable efficiently in the first place, such as the "stackability" of continuations. Intermediate logics are logics between intuitionistic and classical logic in terms of provability. Second-class continuations used in CPS-based intermediate languages correspond to a classical modal logic S4 with the added restriction that implications may only return modal types. This indeed corresponds to an intermediate logic, owing to the Gödel-McKinsey-Tarski theorem which states the intuitionistic nature of the modal fragment of S4. We introduce a three-kinded polarised sequent calculus for S4, together with an operational machine model that separates a heap from a stack. With this model we study a stackability property for the modal fragment of S4.
Similar Papers
Nested Sequents for Intuitionistic Multi-Modal Logics: Cut-Elimination and Lyndon Interpolation
Logic in Computer Science
Makes math logic easier for computers to understand.
The Modal Logic of Abstraction Refinement
Logic in Computer Science
Makes computer checks work on bigger, trickier problems.
The Modal Logic of Abstraction Refinement
Logic in Computer Science
Checks computer programs for errors more easily.