A Calculus for Amortized Expected Runtimes

11/23/2022
by   Kevin Batz, et al.
0

We develop a weakest-precondition-style calculus à la Dijkstra for reasoning about amortized expected runtimes of randomized algorithms with access to dynamic memory - the calculus. Our calculus is truly quantitative, i.e. instead of Boolean valued predicates, it manipulates real-valued functions. En route to the calculus, we study the calculus for reasoning about expected runtimes of Kaminski et al. [2018] extended by capabilities for handling dynamic memory, thus enabling compositional and local reasoning about randomized data structures. This extension employs runtime separation logic, which has been foreshadowed by Matheja [2020] and then implemented in Isabelle/HOL by Haslbeck [2021]. In addition to Haslbeck's results, we further prove soundness of the so-extended calculus with respect to an operational Markov decision process model featuring countably-branching nondeterminism, provide intuitive explanations, and provide proof rules enabling separation logic-style verification for upper bounds on expected runtimes. Finally, we build the so-called potential method for amortized analysis into the calculus, thus obtaining the calculus. Since one needs to be able to handle changes in potential which can be negative, the calculus needs to be capable of handling signed random variables. A particularly pleasing feature of our solution is that, unlike e.g. Kozen [1985], we obtain a loop rule for our signed random variables, and furthermore, unlike e.g. Kaminski and Katoen [2017], the calculus makes do without the need for involved technical machinery keeping track of the integrability of the random variables. Finally, we present case studies, including a formal analysis of a randomized delete-insert-find-any set data structure [Brodal et al. 1996].

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/28/2018

Quantitative Separation Logic

We present quantitative separation logic (QSL). In contrast to classical...
research
12/12/2021

Interpreting Lambda Calculus in Domain-Valued Random Variables

We develop Boolean-valued domain theory and show how the lambda-calculus...
research
05/03/2019

A Constructive Proof of a Concentration Bound for Real-Valued Random Variables

Almost 10 years ago, Impagliazzo and Kabanets (2010) gave a new combinat...
research
06/09/2020

A Complete Axiomatisation for Quantifier-Free Separation Logic

We present the first complete axiomatisation for quantifier-free separat...
research
11/29/2021

A Separation Logic for Negative Dependence

Formal reasoning about hashing-based probabilistic data structures often...
research
04/01/2019

Aiming Low Is Harder - Inductive Proof Rules for Lower Bounds on Weakest Preexpectations in Probabilistic Program Verification

We present a new inductive proof rule for reasoning about lower bounds o...
research
07/08/2018

Contextual Equivalence for a Probabilistic Language with Continuous Random Variables and Recursion

We present a complete reasoning principle for contextual equivalence in ...

Please sign up or login with your details

Forgot password? Click here to reset