Quantitative Separation Logic

by   Kevin Batz, et al.

We present quantitative separation logic (QSL). In contrast to classical separation logic, QSL employs quantities which evaluate to real numbers instead of predicates which evaluate to boolean values. The connectives of classical separation logic, separating conjunction and separating implication, are both lifted from predicates to quantities. This extension is conservative: Both connectives are backward compatible to their classical analogs and obey the same laws, e.g. modus ponens, adjointness of separating conjunction and implication, etc. Furthermore, we develop a weakest precondition calculus for quantitative reasoning about probabilistic pointer programs in QSL. This calculus is a conservative extension of both Reynolds' weakest preconditions for heap manipulating programs and McIver & Morgan's weakest preexpectations for probabilistic programs. In particular, our calculus preserves O'Hearn's frame rule which enables local reasoning - a key principle of separation logic. We demonstrate that our calculus enables reasoning about quantitaties, such as the probability of terminating with an empty heap or the expected length of a randomly constructed list.


page 1

page 2

page 3

page 4


Foundations for Entailment Checking in Quantitative Separation Logic (extended version)

Quantitative separation logic (QSL) is an extension of separation logic ...

Quantitative Strongest Post

We present a novel strongest-postcondition-style calculus for quantitati...

Computational interpretations of classical reasoning: From the epsilon calculus to stateful programs

The problem of giving a computational meaning to classical reasoning lie...

Towards Concurrent Quantitative Separation Logic

In this paper, we develop a novel verification technique to reason about...

A stochastic calculus approach to the oracle separation of BQP and PH

After presentations of Raz and Tal's oracle separation of BQP and PH res...

The Effects of Adding Reachability Predicates in Propositional Separation Logic

The list segment predicate ls used in separation logic for verifying pro...

Strong-Separation Logic

Most automated verifiers for separation logic target the symbolic-heap f...