🤖 AI Summary
Existing probabilistic programs lack efficient and scalable deductive verification tools. This work proposes a novel verification framework based on HeyVL, a quantitative intermediate verification language, which enables expressing probabilistic programs, specifications, and proof rules in a programming-language–like syntax. The framework innovatively integrates two complementary backends—SMT solving (via Z3) and probabilistic model checking—to support flexible, composable verification strategies. Built upon the HeyLo real-valued logic and enhanced with improved diagnostic mechanisms, the system incorporates a rich set of proof rules developed over five years of implementation. Empirical evaluation on multiple benchmark suites demonstrates its strong scalability and practical utility.
📝 Abstract
Caesar is a deductive verifier for probabilistic programs. At its core lies HeyVL, a quantitative intermediate verification language based on the real-valued logic HeyLo. HeyVL allows users to express a probabilistic program, its specifications, and proof rules in a programming-language style, so that new proof rules can be easily integrated into the verifier. Caesar translates HeyVL programs into verification conditions, which are then checked using the Z3 SMT solver. It also includes a backend based on probabilistic model checking for a subset of HeyVL. We report on the results of five years of development of Caesar, highlighting its main features and architecture. In particular, we describe recent improvements such as additional proof rules, a model-checking backend, and better diagnostics.