Relational Reasoning via Probabilistic Coupling

  title={Relational Reasoning via Probabilistic Coupling},
  author={Gilles Barthe and Thomas Espitau and Benjamin Gr{\'e}goire and Justin Hsu and L{\'e}o Stefanesco and Pierre-Yves Strub},
Probabilistic coupling is a powerful tool for analyzing pairs of probabilistic processes. Roughly, coupling two processes requires finding an appropriate witness process that models both processes in the same probability space. Couplings are powerful tools proving properties about the relation between two processes, include reasoning about convergence of distributions and stochastic dominance---a probabilistic version of a monotonicity property. While the mathematical definition of coupling… 
Coupling proofs are probabilistic product programs
An extension of pRHL is defined, called x-pRHL, which explicitly constructs the coupling in a pRH derivation in the form of a probabilistic product program that simulates two correlated runs of the original program.
Probabilistic Couplings for Probabilistic Reasoning
An approximate coupling proof of privacy for the Sparse Vector mechanism is given, a well-known algorithm from the privacy literature whose privacy proof is notoriously subtle, and the first formalized proof ofPrivacy for SparseVector in apRHL is produced.
Proving uniformity and independence by self-composition and coupling
It is demonstrated that the program logic pRHL— whose proofs are formal versions of proofs by coupling—can be used for formalizing uniformity and probabilistic independence.
Relational Expectation Properties by Probabilistic Coupling
  • Computer Science
  • 2016
This work designs a relational program logic EPRHL that is inspired by the logic PRHL, a powerful tool for proving relational properties by reasoning about probabilistic couplings, and enhances PRHL with an orthogonal, compositional reasoning principle based on premetrics.
A Program Logic for Union Bounds
A probabilistic Hoare logic aHL based on the union bound, a tool from basic probability theory that enables a clean separation between reasoning about probabilities and reasoning about events, which are expressed as standard first-order formulas in the logic.
Efficient Local Computation of Differential Bisimulations via Coupling and Up-to Methods
An algorithm for the computation of equivalence relations which can be interpreted as a lifting of probabilistic bisimulation to polynomial differential equations, a ubiquitous model of dynamical systems across science and engineering is developed.
Relational Reasoning for Markov Chains in a Probabilistic Guarded Lambda Calculus
We extend the simply-typed guarded \(\lambda \)-calculus with discrete probabilities and endow it with a program logic for reasoning about relational properties of guarded probabilistic computations.
Proving Differential Privacy via Probabilistic Couplings
This paper develops compositional methods for formally verifying differential privacy for algorithms whose analysis goes beyond the composition theorem, based on deep connections between differential privacy and probabilistic couplings, an established mathematical tool for reasoning about stochastic processes.
Advanced Probabilistic Couplings for Differential Privacy
A new formalism extending apRHL, a relational program logic that has been used for proving differential privacy of non-interactive algorithms, and incorporating a HL, a (non-relational) program logic for accuracy properties is addressed, which exemplifies the three classes of algorithms and explores new variants of the Sparse Vector technique.
The next 700 relational program logics
The first framework for defining relational program logics for arbitrary monadic effects is proposed, and it is shown that this generic framework can be used to define relational programLogics for effects as diverse as state, input-output, nondeterminism, and discrete probabilities.


Logical, Metric, and Algorithmic Characterisations of Probabilistic Bisimulation
The Hennessy-Milner logic and the modal mu-calculus are extended with a new modality, resulting in an adequate and an expressive logic for probabilistic bisimilarity, respectively, and the correspondence of the lifting operation and the Kantorovich metric leads to a natural characterisation of bisimulations as pseudometrics which are post-fixed points of a monotone function.
Simple relational correctness proofs for static analyses and program transformations
We show how some classical static analyses for imperative programs, and the optimizing transformations which they enable, may be expressed and proved correct using elementary logical and
Relational Verification Using Product Programs
This work provides a general notion of product program that supports a direct reduction of relational verification to standard verification, and illustrates the benefits of the method with selected examples, including non-interference, standard loop optimizations, and a state-of-the-art optimization for incremental computation.
Formal certification of code-based cryptographic proofs
This work presents Certicrypt, a framework that enables the machine-checked construction and verification of code-based proofs, built upon the general-purpose proof assistant Coq, and draws on many areas, including probability, complexity, algebra, and semantics of programming languages.
Computer-Aided Security Proofs for the Working Cryptographer
It is argued that EasyCrypt is a plausible candidate for adoption by working cryptographers and its application to security proofs of the Cramer-Shoup and Hashed ElGamal cryptosystems is illustrated.
Relational separation logic
Secure information flow by self-composition†
Self-composition enables the use of standard techniques for information flow policy verification, such as program logics and model checking, that are suitable in Proof Carrying Code infrastructures and is illustrated in several settings, including different security policies such as non-interference and controlled forms of declassification and programming languages including an imperative language with parallel composition.
CoVaC: Compiler Validation by Program Analysis of the Cross-Product
A deductive framework for proving program equivalence and its application to automatic verification of transformations performed by optimizing compilers, which accommodates absence of compiler annotations and handles most of the classical intraprocedural optimizations.
Coupling, stationarity, and regeneration
1 Random Variables.- 1 Introduction.- 2 The i.i.d. Coupling - Positive Correlation.- 3 Quantile Coupling - Stochastic Domination.- 4 Coupling Event - Maximal Coupling.- 5 Poisson Approximation -
Optimal markovian couplings and applications
This paper is devoted to studying a new topic: optimal Markovian couplings, mainly for time-continuous Markov processes. The study emphasizes the analysis of the coupling operators rather than the