A Domain Theory for Statistical Probabilistic Programming
arXiv:1811.04196 · doi:10.1145/3290349
Abstract
We give an adequate denotational semantics for languages with recursive higher-order types, continuous probability distributions, and soft constraints. These are expressive languages for building Bayesian models of the kinds used in computational statistics and machine learning. Among them are untyped languages, similar to Church and WebPPL, because our semantics allows recursive mixed-variance datatypes. Our semantics justifies important program equivalences including commutativity. Our new semantic model is based on `quasi-Borel predomains'. These are a mixture of chain-complete partial orders (cpos) and quasi-Borel spaces. Quasi-Borel spaces are a recent model of probability theory that focuses on sets of admissible random elements. Probability is traditionally treated in cpo models using probabilistic powerdomains, but these are not known to be commutative on any class of cpos with higher order functions. By contrast, quasi-Borel predomains do support both a commutative probabilistic powerdomain and higher-order functions. As we show, quasi-Borel predomains form both a model of Fiore's axiomatic domain theory and a model of Kock's synthetic measure theory.
References in corpus (4)
Cited by in corpus (12)
- Commutative Monads for Probabilistic Programming Languages
- ADEV: Sound Automatic Differentiation of Expected Values of Probabilistic Programs
- Densities of Almost Surely Terminating Probabilistic Programs are Differentiable Almost Everywhere
- Automatic Alignment in Higher-Order Probabilistic Programming Languages
- Correctness of Sequential Monte Carlo Inference for Probabilistic Programming Languages
- Higher-Order Bayesian Networks, Exactly (Extended version)
- Probabilistic programming interfaces for random graphs: Markov categories, graphons, and nominal sets
- Automatic Differentiation for ML-family languages: correctness via logical relations
- The Geometry of Bayesian Programming
- A Cartesian Closed Category for Random Variables
- Denotation-based Compositional Compiler Verification
- (Towards a) Statistical Probabilistic Lazy Lambda Calculus