Heterogeneous Dynamic Logic: Provability Modulo Program Theories
Samuel Teuber, Mattias Ulbrich, Andr\'e Platzer, Bernhard Beckert

TL;DR
Heterogeneous Dynamic Logic (HDL) offers a modular framework for reasoning about systems involving multiple programming languages by combining different dynamic logics, enabling cross-language verification and proof reuse.
Contribution
This paper introduces HDL, a novel framework for combining and lifting dynamic logics, with formal soundness proofs and a case study demonstrating its practical application.
Findings
HDL formalizes dynamic theories, their lifting, and combination with soundness proofs.
HDL enables reasoning about intertwined cross-language behaviors.
Verified an automotive case study involving Java and differential dynamic logic.
Abstract
Formally specifying, let alone verifying, properties of systems involving multiple programming languages is inherently challenging. We introduce Heterogeneous Dynamic Logic (HDL), a framework for combining reasoning principles from distinct (dynamic) program logics in a modular and compositional way. HDL mirrors the architecture of satisfiability modulo theories (SMT): Individual dynamic logics, along with their calculi, are treated as dynamic theories that can be combined to reason about heterogeneous systems whose components are verified using different program logics. HDL provides two key operations: Lifting extends an individual dynamic theory with new program constructs (e.g., the havoc operation or regular programs) and automatically augments its calculus with sound reasoning principles for the new constructs; and Combination enables cross-language reasoning in a single modality…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
