Log In Sign Up

A Domain Theory for Statistical Probabilistic Programming

by   Matthijs Vákár, et al.

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.


A Convenient Category for Higher-Order Probability Theory

Higher-order probabilistic programming languages allow programmers to wr...

Semantics for probabilistic programming: higher-order functions, continuous distributions, and soft constraints

We study the semantic foundation of expressive probabilistic programming...

A Domain-Theoretic Approach to Statistical Programming Languages

We give a domain-theoretic semantics to a statistical programming langua...

Denotational validation of higher-order Bayesian inference

We present a modular semantic account of Bayesian inference algorithms f...

Probabilistic Programming Semantics for Name Generation

We make a formal analogy between random sampling and fresh name generati...

Formal verification of higher-order probabilistic programs

Probabilistic programming provides a convenient lingua franca for writin...

Reflections on existential types

Existential types are reconstructed in terms of small reflective subuniv...