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

Cite

Cite as @staton-2016-semantics (helia, typst) · \cite{staton-2016-semantics} (LaTeX)
BibTeX
bibtex · 1 line
@inproceedings{staton-2016-semantics, series={LICS ’16}, title={Semantics for probabilistic programming: higher-order functions, continuous distributions, and soft constraints}, url={http://dx.doi.org/10.1145/2933575.2935313}, DOI={10.1145/2933575.2935313}, booktitle={Proceedings of the 31st Annual ACM/IEEE Symposium on Logic in Computer Science}, publisher={ACM}, author={Staton, Sam and Yang, Hongseok and Wood, Frank and Heunen, Chris and Kammar, Ohad}, year={2016}, month=July, pages={525–534}, collection={LICS ’16} }
hayagriva YAML (typst)
yaml · 17 lines
staton-2016-semantics:
  type: article
  title: 'Semantics for probabilistic programming: higher-order functions, continuous distributions, and soft constraints'
  author:
  - Staton, Sam
  - Yang, Hongseok
  - Wood, Frank
  - Heunen, Chris
  - Kammar, Ohad
  date: 2016-07
  page-range: 525-534
  serial-number:
    doi: 10.1145/2933575.2935313
  parent:
    type: proceedings
    title: Proceedings of the 31st Annual ACM/IEEE Symposium on Logic in Computer Science
    publisher: ACM
Cited by (8)

Multi-Language Probabilistic Programming stites-2025-multi

There are many different probabilistic programming languages that are specialized to specific kinds of probabilistic programs. From a usability and scalability perspective, this is undesirable: today, probabilistic programmers are forced up-front to decide which language they want to use and cannot mix-and-match different languages for handling heterogeneous programs. To rectify this, we seek a foundation for sound interoperability for probabilistic programming languages: just as today’s Python programmers can resort to low-level C programming for performance, we argue that probabilistic programmers should be able to freely mix different languages for meeting the demands of heterogeneous probabilistic programming environments. As a first step towards this goal, we introduce Multi PPL, a probabilistic multi-language that enables programmers to interoperate between two different probabilistic programming languages: one that leverages a high-performance exact discrete inference strategy, and one that uses approximate importance sampling. We give a syntax and semantics for Multi PPL, prove soundness of its inference algorithm, and provide empirical evidence that it enables programmers to perform inference on complex heterogeneous probabilistic programs and flexibly exploits the strengths and weaknesses of two languages simultaneously.
PDF · DOI · arXiv · pldb

A Nominal Approach to Probabilistic Separation Logic li-2024-a

DOI · arXiv

Lilac: A Modal Separation Logic for Conditional Probability li-2023-lilac

We present Lilac, a separation logic for reasoning about probabilistic programs where separating conjunction captures probabilistic independence. Inspired by an analogy with mutable state where sampling corresponds to dynamic allocation, we show how probability spaces over a fixed, ambient sample space appear to be the natural analogue of heap fragments, and present a new combining operation on them such that probability spaces behave like heaps and measurability of random variables behaves like ownership. This combining operation forms the basis for our model of separation, and produces a logic with many pleasant properties. In particular, Lilac has a frame rule identical to the ordinary one, and naturally accommodates advanced features like continuous random variables and reasoning about quantitative properties of programs. Then we propose a new modality based on disintegration theory for reasoning about conditional probability. We show how the resulting modal logic validates examples from prior work, and give a formal verification of an intricate weighted sampling algorithm whose correctness depends crucially on conditional independence structure.
PDF · DOI · arXiv · pldb

Fully abstract models for effectful λ-calculi via category-theoretic logical relations kammar-2022-fully

We present a construction which, under suitable assumptions, takes a model of Moggi’s computational λ-calculus with sum types, effect operations and primitives, and yields a model that is adequate and fully abstract. The construction, which uses the theory of fibrations, categorical glueing, ⊤⊤-lifting, and ⊤⊤-closure, takes inspiration from O’Hearn & Riecke’s fully abstract model for PCF. Our construction can be applied in the category of sets and functions, as well as the category of diffeological spaces and smooth maps and the category of quasi-Borel spaces, which have been studied as semantics for differentiable and probabilistic programming.
PDF · DOI · pldb

Distribution Theoretic Semantics for Non-Smooth Differentiable Programming amorim_lam_2022

With the wide spread of deep learning and gradient descent inspired optimization algorithms, differentiable programming has gained traction. Nowadays it has found applications in many different areas as well, such as scientific computing, robotics, computer graphics and others. One of its notoriously difficult problems consists in interpreting programs that are not differentiable everywhere.

In this work we define 𝜆𝛿, a core calculus for non-smooth differentiable programs and define its semantics using concepts from distribution theory, a well-established area of functional analysis. We also show how 𝜆𝛿 presents better equational properties than other existing semantics and use our semantics to reason about a simplified ray tracing algorithm. Further, we relate our semantics to existing differentiable languages by providing translations to and from other existing differentiable semantic models. Finally, we provide a proof-of-concept implementation in PyTorch of the novel constructions in this paper.

Web · arXiv

Universal Semantics for the Stochastic Lambda-Calculus amorim_etal_2021_lics

We define sound and adequate denotational and operational semantics for the stochastic lambda calculus. These two semantic approaches build on previous work that used similar techniques to reason about higher-order probabilistic programs, but for the first time admit an adequacy theorem relating the operational and denotational views. This resolves the main issue left open in (Bacci et al. 2018).
DOI

A domain theory for statistical probabilistic programming vakar-2019-a

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.
PDF · DOI · pldb

A convenient category for higher-order probability theory heunen-2017-a

DOI · arXiv
Cites 36 works (0 here)
External (36)
staton-2016-semantics reference entries/refs/staton-2016-semantics/staton-2016-semantics.hel