## 1 Preliminaries

### Multisets

A (possibly infinite) multiset over a set is a mapping .
The *union*
of a countably many multisets is defined by

which forms a multiset if and only if
is finite for every .
The *sum* of a multiset
with respect to is defined by

We use set-like notations for multisets:
denotes the *empty* multiset ,
is the multiset with ,
and
is its special case where is finite.

### Weighted Abstract Reduction Systems

A *weighted ARS* over state space is a ternary relation
.
We write meaning .
We define the ARS *induced by at cost *,
by the following inference rules:

We say is a *normal form* with respect to if
there exists no with .
The set of normal forms with respect to is denoted by .
The *potential* of with respect to is defined by
.
The weighted ARS is called *strongly bounded* on , ,
if for every , there exists such that
implies ;
This is equivalent to saying that for every .

### Weighted Probabilistic Abstract Reduction Systems

A *multidistribution* on a set is a multiset
of pairs of and
, written , satisfying
.
We denote the set of multidistributions on by .
Multidistributions are closed under *convex multiset unions*
for every finite or countable infinite index set

and probabilities

with , where*scalar multiplication*is defined by for .

The restriction of a multidistribution to a set is defined by . For a function , we denote by its homomorphic extension defined by

For , we define
the *expectation* of a function
as .
Notice that
.

###### Definition 1.

A *weighted probabilistic* ARS over is a set .
As before, we may write for .
We define the weighted ARS over *induced by* as follows:

For a weighted probabilistic ARS , let us define .
A weighted probabilistic ARS over is *strongly bounded* on a set
if , i.e.,
for all .

## 2 Probabilistic While

We consider an imperative language in the spirit of Dijkstra’s *Guarded Command Language* [Dijkstra75],
endowed with primitives for sampling from discrete distributions as well as non-deterministic and probabilistic choice.
Let denote a finite set of integer-valued variables .
We denote by the set of *stores*,
that associate variables with their integer contents.
The syntax of *program commands* over is given by the following grammar.

effectless operation |
|||||

resource consumption |
|||||

termination |
|||||

probabilistic assignment |
|||||