A Separation Logic for Negative Dependence

11/29/2021
by   Jialu Bao, et al.
0

Formal reasoning about hashing-based probabilistic data structures often requires reasoning about random variables where when one variable gets larger (such as the number of elements hashed into one bucket), the others tend to be smaller (like the number of elements hashed into the other buckets). This is an example of negative dependence, a generalization of probabilistic independence that has recently found interesting applications in algorithm design and machine learning. Despite the usefulness of negative dependence for the analyses of probabilistic data structures, existing verification methods cannot establish this property for randomized programs. To fill this gap, we design LINA, a probabilistic separation logic for reasoning about negative dependence. Following recent works on probabilistic separation logic using separating conjunction to reason about the probabilistic independence of random variables, we use separating conjunction to reason about negative dependence. Our assertion logic features two separating conjunctions, one for independence and one for negative dependence. We generalize the logic of bunched implications (BI) to support multiple separating conjunctions, and provide a sound and complete proof system. Notably, the semantics for separating conjunction relies on a non-deterministic, rather than partial, operation for combining resources. By drawing on closure properties for negative dependence, our program logic supports a Frame-like rule for negative dependence and monotone operations. We demonstrate how LINA can verify probabilistic properties of hash-based data structures and balls-into-bins processes.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
07/24/2019

A Probabilistic Separation Logic

Probabilistic independence is a fundamental tool for reasoning about ran...
research
04/03/2023

Lilac: A Modal Separation Logic for Conditional Probability

We present Lilac, a separation logic for reasoning about probabilistic p...
research
08/20/2020

A Logic to Reason about Dependence and Independence

Independence and conditional independence are fundamental concepts for r...
research
01/17/2020

Strong-Separation Logic

Most automated verifiers for separation logic target the symbolic-heap f...
research
09/19/2019

Proof Pearl: Magic Wand as Frame

Separation logic adds two connectives to assertion languages: separating...
research
11/23/2022

A Calculus for Amortized Expected Runtimes

We develop a weakest-precondition-style calculus à la Dijkstra for reaso...
research
05/23/2022

Sound Automation of Magic Wands (extended version)

The magic wand -* (also called separating implication) is a separation l...

Please sign up or login with your details

Forgot password? Click here to reset