POPL 2026
Sun 11 - Sat 17 January 2026 Rennes, France
Tue 13 Jan 2026 16:44 - 17:06 at Belvédère - Separation logic Chair(s): Thibault Dardinier

Probabilistic programs have a myriad of applications, from randomized algorithms to statistical modeling, and as such have inspired a long tradition of probabilistic program logics to verify their correctness. One essential use of probabilistic programs is to program new samplers from more primitive samplers, e.g., to generate samples from more complex distributions only given a primitive uniform sampler. Such samplers are an ideal case study for probabilistic program logics, to ensure that they implement the target distributions correctly. But proving correctness is often not enough, one also wants to reason about clients of these samplers, which require their specifications to be expressive and reusable.

In this work, we propose a methodology for giving specifications to samplers that are detailed enough to prove that they are correct, and expressive enough to reason about their clients. We propose our methodology for Eris, a recent probabilistic program logic based on the Iris separation logic. We identify what makes the proof rules and reasoning principles for primitive distributions in Eris work, and we distill them into a distribution typeclass. This presents at an abstract level the requirements that a concrete implementation of a target distribution should satisfy, and provides reasoning principles for clients of the interface. Working at this level of abstraction allows us to prove correctness results, as well as to derive additional reasoning principles for all implementations that adhere to the typeclass interface. We instantiate this approach to a variety of samplers for classical distributions, such as binomials, geometrics and beta-binomials.

Tue 13 Jan

Displayed time zone: Brussels, Copenhagen, Madrid, Paris change

16:00 - 17:50
Separation logicCPP at Belvédère
Chair(s): Thibault Dardinier EPFL
16:00
22m
Talk
A Recipe for Modular Verification of Generic Tree Traversals
CPP
Laila Elbeheiry MPI-SWS, Michael Sammler Institute of Science and Technology Austria, Robbert Krebbers Radboud University Nijmegen, Derek Dreyer MPI-SWS, Deepak Garg MPI-SWS
16:22
22m
Talk
Precise Reasoning about Container-Internal Pointers with Logical Pinningdistinguished paper
CPP
DOI Pre-print
16:44
22m
Talk
Modular Specifications and Implementations of Random Samplers in Higher-Order Separation Logic
CPP
Virgil Marionneau ENS Rennes, Félix Sassus-Bourda ENS Paris Saclay, Alejandro Aguirre Aarhus University, Lars Birkedal Aarhus University
17:06
22m
Talk
Using Ghost Ownership to Verify Union-Find and Persistent Arrays in Rust
CPP
Arnaud Golfouse Université Paris-Saclay, CNRS, ENS Paris-Saclay, Inria, Laboratoire des méthodes formelles, 91190, Gif-sur-Yvette, France, Armaël Guéneau Université Paris-Saclay - CNRS - ENS Paris-Saclay - Inria, Jacques-Henri Jourdan LMF, CNRS, Université Paris-Saclay
17:28
22m
Talk
A Rose Tree is Blooming (Proof Pearl)
CPP
Joomy Korkut Bloomberg
DOI Pre-print