Generating Functions for Probabilistic Programs

by   Lutz Klinkenberg, et al.

This paper investigates the usage of generating functions (GFs) encoding measures over the program variables for reasoning about discrete probabilistic programs. To that end, we define a denotational GF-transformer semantics for probabilistic while-programs, and show that it instantiates Kozen's seminal distribution transformer semantics. We then study the effective usage of GFs for program analysis. We show that finitely expressible GFs enable checking super-invariants by means of computer algebra tools, and that they can be used to determine termination probabilities. The paper concludes by characterizing a class of – possibly infinite-state – programs whose semantics is a rational GF encoding a discrete phase-type distribution.


Does a Program Yield the Right Distribution? Verifying Probabilistic Programs via Generating Functions

We study discrete probabilistic programs with potentially unbounded loop...

Combining nondeterminism, probability, and termination: equational and metric reasoning

We study monads resulting from the combination of nondeterministic and p...

Extensional Denotational Semantics of Higher-Order Probabilistic Programs, Beyond the Discrete Case

We describe a mathematical structure that can give extensional denotatio...

A Rice's Theorem for Abstract Semantics

Classical results in computability theory, notably Rice's theorem, focus...

An Application of Computable Distributions to the Semantics of Probabilistic Programs

In this chapter, we explore how (Type-2) computable distributions can be...

Scalable Verification of Probabilistic Networks

This paper presents McNetKAT, a scalable tool for verifying probabilisti...

Declarative Statistical Modeling with Datalog

Formalisms for specifying statistical models, such as probabilistic-prog...