Table of Contents
Fetching ...

A domain-theoretic framework for conditional probability and Bayesian updating in programming

Pietro Di Gianantonio, Abbas Edalat

TL;DR

This work develops a domain-theoretic foundation for probabilistic programming that makes conditional probability computable in the presence of continuous distributions. It introduces PER-based random-variable and valuation monads, extended to arbitrary sample spaces to support score-based Bayesian updating, and replaces classical conditioning with observable disjoint-open-event pairs to recover monotone, computable conditioning. The authors establish a natural bridge between random variables and valuations, prove equivalence between scoring-based and density-based conditioning, and implement a probabilistic functional language (PFL) with both operational and denotational semantics and an adequacy theorem. The framework supports exact real-number computation, integrates continuous distributions with constructive semantics, and offers a principled approach to higher-order probabilistic programming with formally grounded conditioning. This provides a rigorous, computable foundation for building and reasoning about probabilistic languages and inference mechanisms in a domain-theoretic setting.

Abstract

We present a domain-theoretic framework for probabilistic programming that provides a constructive definition of conditional probability and addresses computability challenges previously identified in the literature. We introduce a novel approach based on an observable notion of events that enables computability. We examine two methods for computing conditional probabilities -- one using conditional density functions and another using trace sampling with rejection -- and prove they yield consistent results within our framework. We implement these ideas in a simple probabilistic functional language with primitives for sampling and evaluation, providing both operational and denotational semantics and proving their consistency. Our work provides a rigorous foundation for implementing conditional probability in probabilistic programming languages.

A domain-theoretic framework for conditional probability and Bayesian updating in programming

TL;DR

This work develops a domain-theoretic foundation for probabilistic programming that makes conditional probability computable in the presence of continuous distributions. It introduces PER-based random-variable and valuation monads, extended to arbitrary sample spaces to support score-based Bayesian updating, and replaces classical conditioning with observable disjoint-open-event pairs to recover monotone, computable conditioning. The authors establish a natural bridge between random variables and valuations, prove equivalence between scoring-based and density-based conditioning, and implement a probabilistic functional language (PFL) with both operational and denotational semantics and an adequacy theorem. The framework supports exact real-number computation, integrates continuous distributions with constructive semantics, and offers a principled approach to higher-order probabilistic programming with formally grounded conditioning. This provides a rigorous, computable foundation for building and reasoning about probabilistic languages and inference mechanisms in a domain-theoretic setting.

Abstract

We present a domain-theoretic framework for probabilistic programming that provides a constructive definition of conditional probability and addresses computability challenges previously identified in the literature. We introduce a novel approach based on an observable notion of events that enables computability. We examine two methods for computing conditional probabilities -- one using conditional density functions and another using trace sampling with rejection -- and prove they yield consistent results within our framework. We implement these ideas in a simple probabilistic functional language with primitives for sampling and evaluation, providing both operational and denotational semantics and proving their consistency. Our work provides a rigorous foundation for implementing conditional probability in probabilistic programming languages.

Paper Structure

This paper contains 21 sections, 17 theorems, 66 equations.

Key Result

Proposition 2.1

kirch1993bereiche

Theorems & Definitions (37)

  • Proposition 2.1
  • Proposition 2.2
  • proof
  • Definition 3.1
  • Definition 3.2
  • Lemma 3.3
  • proof
  • Proposition 3.4
  • proof
  • Definition 4.1
  • ...and 27 more