Skip to Main content Skip to Navigation
Conference papers

A lambda-calculus foundation for universal probabilistic programming

Abstract : We develop the operational semantics of an untyped probabilis-tic λ-calculus with continuous distributions, and both hard and soft constraints, as a foundation for universal probabilistic programming languages such as CHURCH, ANGLICAN, and VENTURE. Our first contribution is to adapt the classic operational semantics of λ-calculus to a continuous setting via creating a measure space on terms and defining step-indexed approximations. We prove equivalence of big-step and small-step formulations of this distribution-based semantics. To move closer to inference techniques , we also define the sampling-based semantics of a term as a function from a trace of random samples to a value. We show that the distribution induced by integration over the space of traces equals the distribution-based semantics. Our second contribution is to formalize the implementation technique of trace Markov chain Monte Carlo (MCMC) for our calculus and to show its correct-ness. A key step is defining sufficient conditions for the distribution induced by trace MCMC to converge to the distribution-based semantics. To the best of our knowledge, this is the first rigorous correctness proof for trace MCMC for a higher-order functional language, or for a language with soft constraints.
Complete list of metadata

Cited literature [36 references]  Display  Hide  Download
Contributor : Ugo Dal Lago <>
Submitted on : Tuesday, November 22, 2016 - 3:59:47 PM
Last modification on : Friday, October 30, 2020 - 12:04:03 PM
Long-term archiving on: : Monday, March 20, 2017 - 10:46:42 PM


Files produced by the author(s)




Johannes Borgström, Ugo Dal Lago, Andrew Gordon, Marcin Szymczak. A lambda-calculus foundation for universal probabilistic programming. International Conference on Functional Programming, 2016, Nara, Japan. pp.33 - 46, ⟨10.1145/2951913.2951942⟩. ⟨hal-01400890⟩



Record views


Files downloads