๐ค AI Summary
This work addresses the automatic verification of expected output bounds for probabilistic programs featuring general loops, continuous distributions, and conditional branchingโwhere the integral semantics induced by continuous sampling impede conventional invariant-based reasoning. We propose a Riemann-sum-based approximation of the expected semantics, transforming integral bounds into quantitative invariants expressible in SMT logic. This constitutes the first systematic integration of Riemann integration into probabilistic program verification, accompanied by formal convergence guarantees for the approximation and a proof that the verification problem is coRE-complete. We implement a prototype within the Caesar verification framework, supporting intermediate-language encoding and SMT-driven inference; it successfully verifies multiple benchmarks involving continuous sampling and loops. Our approach bridges discrete program verifiers with continuous probabilistic analysis, enabling existing discrete verification tools to scale to programs with continuous distributions.
๐ Abstract
We lay out novel foundations for the computer-aided verification of guaranteed bounds on expected outcomes of imperative probabilistic programs featuring (i) general loops, (ii) continuous distributions, and (iii) conditioning. To handle loops we rely on user-provided quantitative invariants, as is well established. However, in the realm of continuous distributions, invariant verification becomes extremely challenging due to the presence of integrals in expectation-based program semantics. Our key idea is to soundly under- or over-approximate these integrals via Riemann sums. We show that this approach enables the SMT-based invariant verification for programs with a fairly general control flow structure. On the theoretical side, we prove convergence of our Riemann approximations, and establish coRE-completeness of the central verification problems. On the practical side, we show that our approach enables to use existing automated verifiers targeting discrete probabilistic programs for the verification of programs involving continuous sampling. Towards this end, we implement our approach in the recent quantitative verification infrastructure Caesar by encoding Riemann sums in its intermediate verification language. We present several promising case studies.