POPL 2017
Sun 15 - Sat 21 January 2017
Wed 18 Jan 2017 15:35 - 16:00 at Amphitheater 44 - Probabilistic Programming Chair(s): Marco Gaboardi

Couplings are a powerful tool for proving rapid mixing of probabilistic processes, with applications across many fields of mathematics and computer science. A recent development in formal verification identifies a close connection between couplings and pRHL, a relational program logic motivated by applications to provable security. This close connection opens the door to using the program logic pRHL far beyond its envisioned scope, for verifying examples from the coupling literature. However, there is a technical challenge: whereas many applications of coupling requires reasoning about the coupled process, every derivation in pRHL merely proves its existence. Moreover, pRHL is inherently incomplete, and as a consequence, is not able to capture some advanced forms of couplings such as shift couplings. We address both problems as follows.

First, we define a proof-relevant program logic, called prpRHL, which makes explicit the coupling in a pRHL derivation, in the form of a product program that simulates two correlated runs of the original program. Existing verification tools for probabilistic programs can then be directly applied to the probabilistic product to prove quantitative properties of the coupling, for instance, for analyzing the speed of convergence of the probabilistic process.

Second, we equip prpRHL with a powerful rule for While loops, in which one can freely interleave synchronized and unsynchronized loop iterations. Our proof rule is sufficiently expressive to capture examples of shift couplings, and is relatively complete for deterministic programs.

We show soundness of prpRHL and use it to analyze two classes of examples. The first class of examples considers rapid mixing using different tools from coupling: standard coupling, shift coupling, and path coupling, a compositional principle for combining local couplings into a global coupling. The second class of examples proves (approximate) equivalence between a source and an optimized program, for several instances of loop optimizations from the literature.

Wed 18 Jan

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

14:20 - 16:00
Probabilistic ProgrammingPOPL at Amphitheater 44
Chair(s): Marco Gaboardi SUNY Buffalo, USA
14:20
25m
Talk
Beginner's Luck: A Language for Property-Based Generators
POPL
Leonidas Lampropoulos University of Pennsylvania, Diane Gallois-Wong Inria Paris, ENS Paris, Cătălin Hriţcu Inria Paris, John Hughes Chalmers University of Technology, Benjamin C. Pierce University of Pennsylvania, Li-yao Xia ENS Paris
Pre-print
14:45
25m
Talk
Exact Bayesian Inference by Symbolic Disintegration
POPL
Chung-chieh Shan Indiana University, USA, Norman Ramsey
Pre-print
15:10
25m
Talk
Stochastic Invariants for Probabilistic Termination
POPL
Krishnendu Chatterjee IST Austria, Petr Novotný IST Austria, Djordje Zikelic University of Cambridge
15:35
25m
Talk
Coupling proofs are probabilistic product programs
POPL
Gilles Barthe IMDEA, Benjamin Gregoire INRIA, Justin Hsu , Pierre-Yves Strub École Polytechnique