🤖 AI Summary
This paper addresses the lack of a unified formal framework for modeling operational semantics of programming languages and verifying program correctness. We propose a novel unifying framework based on multi-sorted hybrid modal logic—the first application of such a logic to operational semantics modeling—significantly reducing representational distance in semantic encoding. Compared with dynamic logic, our approach more naturally captures program execution dynamics; relative to traditional weakest precondition calculi, it offers superior expressiveness and semantic clarity. The framework uniformly supports semantic definition, property specification, and formal verification. Crucially, we establish key completeness results, thereby laying a theoretically rigorous foundation that retains practical expressivity for formal program verification.
📝 Abstract
We propose a general framework to allow: (a) specifying the operational semantics of a programming language; and (b) stating and proving properties about program correctness. Our framework is based on a many-sorted system of hybrid modal logic, for which we prove completeness results. We believe that our approach to program verification improves over the existing approaches within modal logic as (1) it is based on operational semantics which allows for a more natural description of the execution than Hoare's style weakest precondition used by dynamic logic; (2) being multi-sorted, it allows for a clearer encoding of semantics, with a smaller representational distance to its intended meaning.