Formal verification of higher-order probabilistic programs

07/16/2018
by   Tetsuya Sato, et al.
0

Probabilistic programming provides a convenient lingua franca for writing succinct and rigorous descriptions of probabilistic models and inference tasks. Several probabilistic programming languages, including Anglican, Church or Hakaru, derive their expressiveness from a powerful combination of continuous distributions, conditioning, and higher-order functions. Although very important for practical applications, these combined features raise fundamental challenges for program semantics and verification. Several recent works offer promising answers to these challenges, but their primary focus is on semantical issues. In this paper, we take a step further and we develop a set of program logics, named PPV, for proving properties of programs written in an expressive probabilistic higher-order language with continuous distributions and operators for conditioning distributions by real-valued functions. Pleasingly, our program logics retain the comfortable reasoning style of informal proofs thanks to carefully selected axiomatizations of key results from probability theory. The versatility of our logics is illustrated through the formal verification of several intricate examples from statistics, probabilistic inference, and machine learning. We further show the expressiveness of our logics by giving sound embeddings of existing logics. In particular, we do this in a parametric way by showing how the semantics idea of (unary and relational) TT-lifting can be internalized in our logics. The soundness of PPV follows by interpreting programs and assertions in quasi-Borel spaces (QBS), a recently proposed variant of Borel spaces with a good structure for interpreting higher order probabilistic programs.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
06/12/2022

Divergences on Monads for Relational Program Logics

Several relational program logics have been introduced for integrating r...
research
02/28/2019

Semantics of higher-order probabilistic programs with conditioning

We present a denotational semantics for higher-order probabilistic progr...
research
01/10/2017

A Convenient Category for Higher-Order Probability Theory

Higher-order probabilistic programming languages allow programmers to wr...
research
02/21/2023

ωPAP Spaces: Reasoning Denotationally About Higher-Order, Recursive Probabilistic and Differentiable Programs

We introduce a new setting, the category of ωPAP spaces, for reasoning d...
research
11/09/2017

Denotational validation of higher-order Bayesian inference

We present a modular semantic account of Bayesian inference algorithms f...
research
07/02/2021

Higher-order probabilistic adversarial computations: Categorical semantics and program logics

Adversarial computations are a widely studied class of computations wher...
research
03/14/2018

An Assertion-Based Program Logic for Probabilistic Programs

Research on deductive verification of probabilistic programs has conside...

Please sign up or login with your details

Forgot password? Click here to reset