Asynchronous Probabilistic Couplings in Higher-Order Separation Logic

Probabilistic couplings are the foundation for many probabilistic relational program logics and arise when relating random sampling statements across two programs. In relational program logics, this manifests as dedicated coupling rules that, e.g., say we may reason as if two sampling statements return the same value. However, this approach fundamentally requires aligning or "synchronizing" the sampling statements of the two programs which is not always possible. In this paper, we develop Clutch, a higher-order probabilistic relational separation logic that addresses this issue by supporting asynchronous probabilistic couplings. We use Clutch to develop a logical step-indexed logical relational to reason about contextual refinement and equivalence of higher-order programs written in a rich language with higher-order local state and impredicative polymorphism. Finally, we demonstrate the usefulness of our approach on a number of case studies. All the results that appear in the paper have been formalized in the Coq proof assistant using the Coquelicot library and the Iris separation logic framework.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/12/2022

Divergences on Monads for Relational Program Logics

Several relational program logics have been introduced for integrating r...
research
06/24/2020

ReLoC Reloaded: A Mechanized Relational Logic for Fine-Grained Concurrency and Logical Atomicity

We present a new version of ReLoC: a relational logic for proving refine...
research
01/05/2021

Control-Data Separation and Logical Condition Propagation for Efficient Inference on Probabilistic Programs

We introduce a novel sampling algorithm for Bayesian inference on impera...
research
09/14/2017

Integrating Context of Statements within Description Logics

We address the problem of providing contextual information about a logic...
research
02/27/2018

Relational Reasoning for Markov Chains in a Probabilistic Guarded Lambda Calculus

We extend the simply-typed guarded λ-calculus with discrete probabilitie...
research
07/02/2021

Higher-order probabilistic adversarial computations: Categorical semantics and program logics

Adversarial computations are a widely studied class of computations wher...
research
08/05/2023

A denotationally-based program logic for higher-order store

Separation logic is used to reason locally about stateful programs. Stat...

Please sign up or login with your details

Forgot password? Click here to reset