A Cost-Aware Probability Monad for Liquid Haskell
Matthias Hetzenberger, Georg Moser, Florian Zuleger
Abstract
Probabilistic algorithms and data structures are widely used to obtain favourable expected performance guarantees. While their mathematical analysis is often well understood, mechanising expected-cost analyses remains challenging, requiring reasoning about probability distributions, expectations, and recursive stochastic behaviour. Existing formal approaches frequently require substantial manual proof effort, since expected costs are often encoded separately from probabilistic computations and must therefore be propagated explicitly throughout proofs. In this paper, we present a cost-aware probability monad for / that supports reasoning about probabilistic programs together with their expected costs. Our approach combines executable probabilistic programs with refinement-type-based verification and SMT-supported automation. The monad intrinsically tracks probability mass, expected values, and expected costs through refinement types, enabling many quantitative properties of probabilistic computations to be inferred compositionally from program structure. We evaluate our approach on several classical probabilistic algorithms and data structures, including meldable heaps, randomised quicksort and quickselect, randomised splay trees, random permutations, and the hiring problem. The case studies demonstrate different points along the spectrum between automated and interactive verification.
Create a lesson
Related papers
MightyPPL : Towards model checking MTL
Hsi-Ming Ho, Shankara Narayanan Krishna, Khushraj Madnani et al.
Counting on Nowhere Dense Classes
Steffen van Bergerem, Nicole Schweikardt
Towards a Proof-Theoretic Analysis of Incorrect/Incomplete Proofs
Matthias Baaz, Mariami Gamsakhurdia
Descriptive Complexity in Lean: Completeness by First-Order Reductions
Pierre Senellart, Anton Gnatenko
Predictable Modelling and Analysis of Software-defined Vehicle Implementations
Pavlo Tokariev, Yosri Ayari, Julien Deantoni
Refining Timing Uncertainty from Logical Time Specification to Operation
Pavlo Tokariev, Julien Deantoni