A separation logic for negative dependence

  title={A separation logic for negative dependence},
  author={Jialu Bao and Marco Gaboardi and Justin Hsu and Joseph Tassarotti},
  journal={Proceedings of the ACM on Programming Languages},
  pages={1 - 29}
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… 

Figures from this paper

Bunched Fuzz: Sensitivity for Vector Metrics
It is shown that products in Fuzz can be generalized to arbitrary L distances, metrics that are often used in privacy and optimization, and extended the Fuzz type system with bunches—as in the logic of bunched implications—where the distances of different groups of variables can be combined using different L distances.
Tight Bounds for Repeated Balls-into-Bins
We study the repeated balls-into-bins process introduced by Becchetti, Clementi, Natale, Pasquale and Posta [3]. This process starts with m balls arbitrarily distributed across n bins. At each step t


A probabilistic separation logic
A new, probabilistic model of the logic of bunched implications (BI) is given, a program logic is built based on these assertions, and soundness of the proof system is proved.
A Bunched Logic for Conditional Independence
The logic of bunched implications is extended with a non-commutative conjunction and a model based on Markov kernels is provided; conditional independence can be directly captured as a logical formula in this model.
Quantitative separation logic: a logic for reasoning about probabilistic pointer programs
The calculus preserves O’Hearn’s frame rule, which enables local reasoning, and it is demonstrated that the calculus enables reasoning about quantities such as the probability of terminating with an empty heap, the likelihood of reaching a certain array permutation, or the expected length of a list.
Certifying Certainty and Uncertainty in Approximate Membership Query Structures
This work describes the framework for systematic decomposition of AMQs and their properties into a series of interfaces and reusable components and provides a library of domain-specific theorems and tactics that allow a high degree of automation in probabilistic proofs.
Balls and bins: A study in negative dependence
This paper investigates the notion of negative dependence amongst random variables and attempts to advocate its use as a simple and unifying paradigm for the analysis of random structures and
Strong-Separation Logic
It is argued that the resulting logic, strong-separation logic, can be used for symbolic execution and abductive reasoning just like “standard” separation logic, while remaining decidable even in the presence of both the magic wand and inductive predicates.
BI as an assertion language for mutable data structures
A model in which the law of the excluded middleholds is given is given, thus showing that the approach is compatible with classical logic, and a local character enjoyed by specifications in the logic is described, which enables a class of frame axioms, which say what parts of the heap don't change, to be inferred automatically.
Intuitionistic reasoning about shared mutable data structure
This work extends Hoare's approach to proving the correctness of imperative programs, to deal with programs that perform destructive updates to data structures containing more than one pointer to the same location.
Probabilistic programming
This paper describes connections this research area called ``Probabilistic Programming" has with programming languages and software engineering, and this includes language design, and the static and dynamic analysis of programs.
Bunched logics: a uniform approach
This thesis investigates the family of bunched logics through two uniform frameworks, and extends duality theorems to the categorical structures suitable for interpreting predicate versions of the logics, in particular hyperdoctrinal structures used frequently in Separation Logic.