🤖 AI Summary
To address rounding errors in floating-point arithmetic that compromise the correctness of MDP model checking, this paper presents the first end-to-end formal verification of interval iteration under IEEE 754 floating-point semantics. Leveraging Isabelle/HOL and the Refinement Framework, we extend the refinement calculus to support directed rounding modes, enabling rigorous correctness proofs spanning abstract semantics, algorithmic implementation, and LLVM-level code. Our approach bridges theoretical analysis with actual hardware floating-point behavior, ensuring mathematical precision guarantees while achieving competitive performance on standard MDP benchmarks—matching state-of-the-art tools without false positives or negatives induced by rounding errors. The core contributions are: (i) the first complete formal verification of interval iteration in a realistic floating-point setting; and (ii) a novel extension of the refinement framework to reason about directed rounding, thereby enabling sound and scalable quantitative verification of probabilistic systems under IEEE 754 constraints.
📝 Abstract
Reasoning about quantitative properties of Markov Decision Processes (MDPs) inevitably requires computations on real or rational numbers. On modern hardware, these are usually efficiently implemented by floating-point numbers. However, due to their finite precision, many floating-point operations lead to small imprecisions. Probabilistic model checkers claim trustworthiness on the ground of a solid theoretical basis, yet prior work has uncovered discrepancies between the claimed and actual accuracy of these systems. How can we trust implementations of model checkers? Our answer is an efficiently executable, formally verified implementation of interval iteration for MDPs. Our correctness proofs span the entire development from the high-level abstract semantics of MDPs to the low-level implementation in LLVM that uses floating-point arithmetic. We use the Isabelle/HOL proof assistant to verify the abstract definition of interval iteration. Next, we employ step-wise refinement to derive an efficient implementation in LLVM code. To that end, we extend the Isabelle Refinement Framework with support for reasoning about floating point arithmetic and directed rounding modes. We experimentally evaluate our implementation on a set of benchmark MDPs. Our results show that the verified implementation is competitive with state-of-the-art tools for MDPs, while providing formal guarantees on the correctness of the results.