Quasi-Borel Spaces

This repository contains a formalization of Quasi-Borel Spaces1 and Quasi-Borel Pre-Domains2 in Lean 43.

Usage

[[require]]
name = "quasi-borel-spaces"
git = "https://github.com/YellPika/quasi-borel-spaces"
rev = "main"

Differences from the Papers

We differ from the original papers12 in the following ways:

  • The definition of variable for Sigma types (e.g., (i : I) × P i or Σi : I, P i) is tweaked to more easily support types which are uninhabited.

  • A QuasiBorelSpace instance is defined for all types (i : I) × P i (the paper1 only allows countable I).

  • Probability measures from the paper1 are called PreProbabilityMeasures. We reserve the name ProbabilityMeasure for the monad defined in Section V-D, i.e. probability measures quotiented by the relation

  • We prove the probability measure monad is strong by constructing the strength operation (as in the Isabelle formalization4), instead of by showing bind is a morphism (as in Section V-D1).

  • We provide a QuasiBorelSpace instance for Chains, which allows a more succinct definition of OmegaQuasiBorelSpace: we only require the supremum function ωSup : Chain A → A is a morphism.

Footnotes

  1. A Convenient Category for Higher-Order Probability Theory 2 3 4 5

  2. A Domain Theory for Statistical Probabilistic Programming 2

  3. https://lean-lang.org/

  4. Quasi_Borel_Spaces - Archive of Formal Proofs