<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Dexter Kozen. Semantics of probabilistic programs. Journal of Computer and System Sciences</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Towards Algebraic Analysis of Probabilistic Programs</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Luisa Collodi</string-name>
          <email>luisa.collodi@unifi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Michele Boreale</string-name>
          <email>michele.boreale@unifi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alessandro Pompa Di Gregorio</string-name>
          <email>alessandro.pompa@edu.unifi.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Università di Firenze</institution>
          ,
          <addr-line>Dipartimento di Statistica, Informatica, Applicazioni “G. Parenti”, V.le Morgagni 65, 50134</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2016</year>
      </pub-date>
      <volume>22</volume>
      <issue>3</issue>
      <fpage>569</fpage>
      <lpage>576</lpage>
      <abstract>
        <p>We report on ongoing research eforts aimed at algebraic symbolic analysis of running time in probabilistic programs. We represent (sub-)probability distributions via generating functions and interpret loops as fixed-points in metric spaces. Probabilistic Programming (PP) [24, 4] is concerned with formal tools to define and analyze probabilistic models programmatically. Applications of PP include the modeling of randomized algorithms, probabilistic graphical models such as Bayesian networks, cognitive and decision-making models, and security protocols [26, 30, 35, 1, 32, 27]. Analyzing probabilistic programs is intrinsically challenging: even in the restricted setting where only a coin-flipping primitive is available, computing the expected value of a variable at program termination is as hard as solving the universal halting problem, while computing higher moments (such as variances) is provably harder; see [28] and references therein. In this communication, we report on ongoing research eforts aimed at symbolic or exact, as opposed to simulation-based [37, 16], analysis of probabilistic programs, in the spirit of works such as [4, 28, 6, 38, 29, 5]. Our focus is on termination and running time analysis [28, 6, 38]. We adopt a denotational perspective in the spirit of Kozen [31]: we interpret programs as transformers of functionals - maps from initial states to (sub)-probability distributions on running time, represented via generating functions [8, 28, 29] (Section 2.1). Our approach departs from previous work in a few key respects. In particular, we work in a metricspace setting (over generating functions and functionals), where fixed points needed to interpret loops are shown to exist and be unique leveraging the Banach fixed-point theorem [ 2] (Section 2.2). Compared to a traditional order-theoretic framework, based on the Knaster-Tarski or Kleene fixed-point theorems [40], our approach appears to be more streamlined. In particular, the uniqueness and convergence rate guaranteed by Banach theorem suggest novel promising approximation and algebraic techniques for symbolic analysis, which we will illustrate through a simple example (Section 3).</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Probabilistic programming</kwd>
        <kwd>generating functions</kwd>
        <kwd>metric spaces</kwd>
        <kwd>Banach theorem</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>Related and Further Work The semantics of probabilistic programs, starting with the seminal work
of Kozen [31] and the monograph by McIver and Morgan [33], is by now a well-established topic. Other
semantics for discrete probabilistic while-programs are discussed in the aforementioned references;
see also [33, 21, 25, 7, 5, 39, 22, 36]. A generating function approach has been considered in [28], and
analysis techniques have been put forward for a class of programs with rational generating functions.
Here we target a broader class of programs, with possibly non-rational (algebraic) generating functions.
A diferent approach based on invariants and theorem proving is discussed in [ 20, 6]. The investigations
discussed here are part of a broader research agenda, aimed at developing flexible, compositional
formal methods applicable across diverse, probability-related domains, including dynamical systems
with safety-related aspects [10, 9, 11, 12, 13, 15], information leakage and security [19, 18], distributed
systems with notions of failure and recovery [14], randomized model counting and testing [17, 34].</p>
    </sec>
    <sec id="sec-2">
      <title>2. Semantics of Probabilistic Programs</title>
      <sec id="sec-2-1">
        <title>2.1. Preliminaries</title>
        <p>
          Let sD denote the set of sub-probability generating functions (gf) in the variable . These are functions of
the complex variable  of the form  () = ∑︀∞=0  such that  ∈ [0, 1] and  (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) = ∑︀∞=0  ≤ 1.
If equality holds, we say  is a probability generating function, i.e. a distribution on N. For  ≥ 0, we
let [] () := , the -th coeficient of  . Note that  (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) = ∑︀≥ 0  is the total probability mass
of the (sub-)probability distribution;  ′(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) = dd  ()|=1 = ∑︀≥ 1  ·  is the expected value of the
(sub-)distribution. Higher-order moments can be computed similarly; see [41]. sD can be made into a
complete metric space by introducing the following (ultra-metric) distance. Given  () = ∑︀∞
=0 
and () = ∑︀∞
=0 , define the distance:
        </p>
        <p>
          sD(, ) := 2− min{≥ 0:̸=}
with the convention that min ∅ = +∞ and 2−∞ = 0. Note that, for any integer  ≥ 0, sD(, ) ≤ 2− 
if  () − () = (), convening that (∞) = 0. It is a standard fact that (sD, sD) forms a
complete1 metric space. Fix an integer  ≥ 1 — representing the number of program variables. We
let F := { : Z → sD} be the set of functionals from Z to sD. In what follows, we will let
 = (1, ..., ) range over Z. We lift the complete metric space structure of sD to F by defining
the following distance for 1, 2 ∈ F:
(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )
(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )
F(1, 2) := s∈uZp sD(1(), 2()).
        </p>
        <p>With this notion of distance, (F, F) is in turn a complete metric space. We shall denote by 0 (resp.
1) the functional that assigns the constant gf  () = 0 (resp. constant  () = 1) to any  ∈ Z.
The convex combination of two or more functionals, say (for  ∈ [0, 1]), 1 + (1 − )2 :=
. ( 1() + (1 − )2() ), is still a functional in F. Likewise, for any predicate  : Z → {0, 1},
the linear combination, (¬) · 1 +  · 2 := . ( (1 − ()) · 1() + () · 2() ), is still in F.
In what follows, we shall omit the index  and write just F whenever  is understood from the context.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Syntax and Fixed Point Semantics</title>
        <p>Probabilistic programs [4, 24] extend ordinary programs in the sense that they allow probabilistic choice
between blocks of instructions. We consider here the probabilistic Guarded Command Language pGCL
of [33], which focuses on discrete probability distributions, represented by guarded choices. We do not
consider nondeterminism at this stage. We also do not consider observe() statements, which can be
encoded using fail variables like in [38]. Programs are built from integer variables 1, ..., , for a fixed
 ≥ 1. We let  range over predicates, that is functions Z → {0, 1}, and ℎ over functions Z → Z.</p>
        <sec id="sec-2-2-1">
          <title>We let  range over the set of programs.</title>
          <p>::=skip | :=ℎ | 1 : 1 □ · · · □  :  | if  1 else 2 | 1; 2 | while  
Here, 1, . . . ,  represents a probability distribution, hence we require ∑︀=1  = 1 and  ≥ 0 ∀ ∈
{1, . . . , }. In the sequel, we will let  = (1, . . . , ) denote the entire variables tuple and sometimes,
slightly abusing notation, also a tuple in Z.</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>Our intent can be summarized as: given a probabilistic while-loop  , gather information about its</title>
          <p>runtime through iteration counting. Intuitively, we can think of a hidden counter in our program that
gets incremented each time an iteration of a while-loop is executed. We are interested in the final value
of this counter, say . Since  is probabilistic, and may or may not terminate, for each given input, 
represents a sub-probability distribution on the set of naturals 0, 1, 2,... Natural questions about  are:
What is the probability of termination? What are the expected value of  and its standard deviation,</p>
        </sec>
        <sec id="sec-2-2-3">
          <title>1Every Cauchy sequence in the space has a limit.</title>
          <p>given termination? Or even: what is the probability that  deviates from its expected value by more
than a given amount?</p>
          <p>In what follows, we define a semantics of programs, in which [[ ]] is represented by a functional
section, as well as of the following abbreviations, where ℎ : Z
transformer. Formally, for each probabilistic program  , [[ ]] takes each  ∈ F into a ′ ∈ F, that is
[[ ]] : F → F. In what follows, we shall make use of the operations over F introduced in the previous
→ Z.
[ℎ()/] := .  (1, ..., − 1, ℎ(), +1, ...)
 ·  := .  · (()).</p>
          <p>In the semantic clauses one should think of  as the ‘continuation’ of  — what is executed after 
terminates. In the clause for the while loop, the formal variable  ‘marks’, in the parlance of generating
functions, the number of loop iterations; fix (·) denotes the fixed-point operator.</p>
          <p>• Skip: [[skip]]() = .
• Assignment: [[ := ℎ]]() = [ℎ()/].
• Composition: [[1; 2]]() = [[1]]([[2]]()).
• Probabilistic Choice: [[1 : 1 □ · · · □  : ]]() = ∑︀=1  · [[]]().
• Conditional: [[if  1 else 2]]() =  · [[1]]() + (¬) · [[2]]().</p>
          <p>as follows: for each  ∈ F
• While Loop: [[while   ]]() = fix(Ψ,,), where Ψ,, : F → F is the transformer defined
Ψ,,( ) := (¬) ·  +  ·  · [[ ]]( ) .
 (* ) = * . The unique * is denoted by fix ( ).</p>
        </sec>
        <sec id="sec-2-2-4">
          <title>The last clause of the above definition is justified by the following theorem. Recall that, given a metric</title>
          <p>
            space (, ), a function  :  →  is a contraction on  if there is a constant  ∈ [0, 1) s.t. for all
1, 2 ∈  we have ( (1),  (2)) ≤  · (1, 2). The Banach fixed point theorem states that if (, )
is a nonempty, complete metric space and  is a contraction on  , then there is a unique * ∈  s.t.
in (
            <xref ref-type="bibr" rid="ref3">3</xref>
            ) is a contraction in the complete metric space (F, F) with constant  ≤
Banach fixed point theorem, Ψ,, has a unique fixed point fix(Ψ,,) ∈ F.
          </p>
          <p>Theorem 1 (fixed-points) . For each program  , predicate  and  ∈ F, the functional Ψ,, defined
21 . As a consequence of the
The semantics of  is a functional {[ ]} ∈ F, defined as</p>
          <p>
            {[ ]} := [[ ]](
            <xref ref-type="bibr" rid="ref1">1</xref>
            ) .
          </p>
          <p>
            For each  ∈ Z, {[ ]}() is a sub-probability gf which, for the sake of compact notation, we will
denote by {[ ]}; wanting to make the argument  of {[ ]} explicit, we will write this as {[ ]}(). So
[]{[ ]}() is the probability that  with input  terminates in precisely  iterations; {[ ]}(
            <xref ref-type="bibr" rid="ref1">1</xref>
            ) is
the global probability of termination; and dd {[ ]}()|=1/{[ ]}(
            <xref ref-type="bibr" rid="ref1">1</xref>
            ) is the expected number of steps
to termination (running time), given that termination occurs, assuming {[ ]}(
            <xref ref-type="bibr" rid="ref1">1</xref>
            ) &gt; 0. Higher order
moments of {[ ]}(), involved in e.g. variance, can be computed similarly. Most important, assuming
{[ ]}() has a radius of convergence  &gt; 1, and letting  denote the induced random variable (if
{[ ]}() is a proper distribution), exponential tail bounds of the form Pr( &gt; ) ≤
for  a suitable constant, can be easily deduced; we omit the details. How to efectively extract this
 · (1/),
information from {[ ]} is the subject of our current research.
          </p>
          <p>
            Example 1. Fix  = 1 and write 1 = . Consider the program 
(
            <xref ref-type="bibr" rid="ref3">3</xref>
            )
(
            <xref ref-type="bibr" rid="ref4">4</xref>
            )
while ( ≥ 0) {1/3:  :=  − 1 □
2/3:  :=  + 1 }
The fixed-point {[ ]} of (
            <xref ref-type="bibr" rid="ref3">3</xref>
            ) with  = 1 satisfies the following equation
{[ ]} = Ψ≥ 0,,1({[ ]}) = .
          </p>
          <p>︂(
[ &lt; 0]1 + [ ≥ 0](︀ 
1
3
{[ ]}− 1 +  {[ ]}+1
2
3
︀)
︂)
.</p>
          <p>
            (
            <xref ref-type="bibr" rid="ref5">5</xref>
            )
          </p>
        </sec>
        <sec id="sec-2-2-5">
          <title>For specific values of , this equation can be applied repeatedly for computing any number of coeficients</title>
          <p>of {[ ]}(). This will be elaborated in the next section.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Towards an Algebraic Theory of Probabilistic Programs</title>
      <sec id="sec-3-1">
        <title>The fixed point semantics described in the previous section provides a firm starting point for the development of new analysis techniques for PP. We outline below two promising approaches that are the subject of our current investigation.</title>
        <p>Approximations Based on Banach Fixed Point Theorem As mentioned in the Introduction, one
appealing feature of Banach fixed-point theorem, compared to order-theoretic ones (Knaster-Tarski,
Kleene,...), is that it immediately implies uniqueness. Moreover, it makes easy it to assess the quality of
approximations given by finite iterations of Ψ. We elaborate on these points below.</p>
      </sec>
      <sec id="sec-3-2">
        <title>Firstly, let us endow sD and F with order structures. On sD, let us consider the following partial order</title>
        <p>⊑: for each 1, 2 ∈ sD, say 1 = ∑︀≥ 0   and 2 = ∑︀≥ 0   , we let 1 ⊑ 2 if and only  ≤ 
for each  ≥ 0. The bottom element of this partial order is 0, the constant zero gf. The partial order
(sD, ⊑) is lifted to a partial order (F, ⊑) on F point-wise: 1 ⊑ 2 if and only if for each  ∈ Z, we
have 1() ⊑ 2() in sD. Letting again 0 denote the constant zero gf, the least element of this partial
order is 0 := . 0. The following result highlights an important property of our semantics.
Theorem 2 (monotonicity). For each , , , Ψ,, : F → F is monotonic w.r.t. (F, ⊑).</p>
        <p>
          Let us now fix generic program  = while  , and consider the corresponding transformer Ψ,,.
We focus on  = 1, as used in our semantics (
          <xref ref-type="bibr" rid="ref4">4</xref>
          ), and abbreviate Ψ := Ψ,,1. A corollary of the
Banach’s theorem is that the unique fixed point is the limit of the iterates Ψ()(), starting from any
 ∈ F. That is, defining Ψ(0)() =  and Ψ(+1)() := Ψ(Ψ()()), we have:
{[ ]} = fix(Ψ) = lim Ψ()()
→+∞
where the lim is taken in the metric space (F, F). Starting in particular from  = 0, which is the least
element in F, and applying the monotonicity of Ψ (Th. 2), we have2
0 ⊑ Ψ(0) ⊑ Ψ(Ψ(0)) ⊑ · · · ⊑
Ψ()(0) ⊑ · · · ⊑
fix(Ψ) ={[ ]} .
Ψ()(0) are successive under-approximations of {[ ]}: what is the nature and quality of such
approximations? Another corollary of Banach’s theorem is that the distance between the fixed point and the
iterates decreases exponentially. More precisely, for every  &gt; 0:
F (︁ Ψ()(0), fix(Ψ ))︁ ≤
        </p>
        <p>
          1 − 
· F(0, Ψ(0))
where  is the contraction constant. In our case  ≤
2− 1, in the light of the definition of F, cf. (
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) and (
          <xref ref-type="bibr" rid="ref2">2</xref>
          ), this means for each  ∈ Z: (Ψ()(0))() −
(fix(Ψ))() = (). So every application of Ψ gains us at least one coeficient in the expansions of all
the gf’s encoded by {[ ]} = fix(Ψ), one for each initial state  ∈ Z.
12 , hence 1− ≤ 2− (− 1). Assuming F(0, Ψ(0)) ≤
Example 2. Consider the program in Example 1. After Ψ(0)(0) = 0, the first few iterates of Ψ()(0) are
the following:
Ψ(
          <xref ref-type="bibr" rid="ref1">1</xref>
          )(0) = . ︂{ 10 iofther&lt;wi0se.
        </p>
        <p>
          Ψ(
          <xref ref-type="bibr" rid="ref2">2</xref>
          )(0) = . ⎧⎨ 1
        </p>
        <p>3
⎩ 0
if  &lt; 0
if  = 0
otherwise.</p>
        <p>
          Ψ(
          <xref ref-type="bibr" rid="ref3">3</xref>
          )(0) = . ⎪⎪⎨ 3
        </p>
        <p>2
⎪⎪⎩ 09
⎧ 1
if  &lt; 0
if  = 0
if  = 1
otherwise.</p>
        <p>Continuing this way, one can see that, say for  = 0:</p>
        <p>
          {[ ]}0() = 31  + 227 3 + 2483 5 + 214807 7 + 19262843 9 + (11) . (
          <xref ref-type="bibr" rid="ref6">6</xref>
          )
2In the limit, we also use the fact that for each  ∈ Z,  ≥ 0: (Ψ()(0))() − (fix(Ψ))() = (). In passing, this is not
directly related to the rate of convergence of {[ ]}() and does not entail a decision procedure for a.s. termination of  .
        </p>
      </sec>
      <sec id="sec-3-3">
        <title>Concerning approximation from above, a similar reasoning shows that, whenever we start from any</title>
        <p>such that  ⊒ fix(Ψ), or even s.t. Ψ() ⊑ , then the iterates form a descending chain3:
 ⊒ Ψ() ⊒ · · · Ψ()() ⊒ · · · ⊒
fix(Ψ) ={[ ]}.</p>
        <p>
          Ideally,  and the subsequent iterates, should provide tighter and tighter upper bounds on such quantities
as: {[ ]}(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) (termination probability) and the (reciprocal of the) radius of convergence  of {[ ]}
(exponential rate of decrease), for each  ∈ Z. In practice, finding such an  in specific cases has proven
a major dificulty. One could consider adding a top element
but, while determining a descending chain of iterates, choosing  = T yields no useful information1− on
T to F, like T = .
        </p>
        <p>∑︀
≥ 0  = .</p>
        <p>1 ;
techniques based on templates [6] seem promising.
{[ ]} in the above sense. How to efectively find an informative
 is a subject of our ongoing research;
 =  ≥
for all  ∈ Z:
A Connection With Directed Lattice Paths</p>
        <p>
          A rather diferent approach to the analysis of
probabilistic programs is expressing the behaviour of a loop, whenever possible, in terms of directed lattice
paths [3]. Basically, these are random walks in the Z line, starting from an arbitrary position  ∈ Z, with
left and right jumps of fixed magnitude and probability. In the cases that interest us, a walk terminates
as soon as it reaches a negative value. Indeed, given a loop program  = while  ≥
of values taken on by the iteration variable  can be seen as such a path. For our running example, a
0 , a sequence
terminating execution corresponds to either a zero length path from  &lt; 0, or to path starting from
0, ending at  = 0 without ever going below 0 — this is called an excursion in [3] — followed
by a final step, corresponding to an execution of the body’s loop where the branch  :=  − 1 is taken,
with probability 1/3. More precisely, let () denote the generating function of excursions starting at
, with jumps in {− 1, +1} and associated weights {1/3, 2/3} (note that () = 0 for  &lt; 0). Then
{[ ]}() = [ &lt; 0]1 + [ ≥ 0]
︂( 1
3  · ()
︂)
(
          <xref ref-type="bibr" rid="ref7">7</xref>
          )
3
where the factor 1  accounts for the final step (iteration), in which the first branch of the probabilistic
choice is taken, causing the program to terminate. Importantly, in the actual proof of (
          <xref ref-type="bibr" rid="ref7">7</xref>
          ), one makes use
of the uniqueness of the fixed point granted by Banach theorem: in fact, for (
          <xref ref-type="bibr" rid="ref7">7</xref>
          ) to hold it is suficient
that the functional  defined by the rhs of (
          <xref ref-type="bibr" rid="ref7">7</xref>
          ) satisfies  = Ψ(): this can be shown by combinatorial
arguments.
for excursions with  ≥ 0
        </p>
        <p>There exist consolidated techniques to work out algebraic characterizations of generating functions
for directed lattice paths. For the case in question, applying the techniques of [3], one easily obtains,
() =
3</p>
        <p>
          ︃( 1 3
 4
·
−
√
9

− 82 )︃+1
which leads to:
{[ ]}() =
︃( 1 3
4
·
−
√
9

− 82 )︃+1
. (
          <xref ref-type="bibr" rid="ref8">8</xref>
          )
with (
          <xref ref-type="bibr" rid="ref6">6</xref>
          ).
        </p>
        <p>For instance, for  ≥</p>
        <p>
          0, we have {[ ]}(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) =
d
d {[ ]}()|=1/{[ ]}(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) = 3( + 1) (expected running time, given termination). Moreover, the
radius of convergence of {[ ]}() coincides with its singularity nearest to the origin on the positive
semiaxis,  = 43 √2 ≈ 1.060660.... For  = 0, the Taylor series from  = 0 of {[ ]}() in (
          <xref ref-type="bibr" rid="ref8">8</xref>
          ) coincides
2− − 1 (probability of termination), while
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>While the directed lattice approach promises very precise results, it is certainly less general than the</title>
        <p>approximation approach discussed in the previous paragraph. In fact, we conjecture that the directed
lattice approach applies to a class of programs that generalizes the Constant Probability programs
considered in [23].</p>
        <p>Acknowledgments</p>
      </sec>
      <sec id="sec-3-5">
        <title>Work partially supported by the project SERICS (PE00000014), EU funded NRRP</title>
      </sec>
      <sec id="sec-3-6">
        <title>MUR program - NextGenerationEU.</title>
      </sec>
      <sec id="sec-3-7">
        <title>3The analogue principle in a framework based on Kleene fixed-point theorem would be Park’s induction [6].</title>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Declaration on Generative AI</title>
      <sec id="sec-4-1">
        <title>The authors have not employed any Generative AI tools.</title>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Christel</given-names>
            <surname>Baier</surname>
          </string-name>
          and
          <string-name>
            <surname>Joost-Pieter Katoen</surname>
          </string-name>
          .
          <article-title>Principles of model checking</article-title>
          . MIT Press,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Stefan</given-names>
            <surname>Banach</surname>
          </string-name>
          .
          <article-title>Sur les opérations dans les ensembles abstraits et leur application aux équations intégrales</article-title>
          .
          <source>Fundamenta Mathematicae</source>
          <volume>3</volume>
          (
          <issue>1</issue>
          ):
          <fpage>133</fpage>
          -
          <lpage>181</lpage>
          ,
          <year>1922</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Cyril</given-names>
            <surname>Banderier</surname>
          </string-name>
          and
          <string-name>
            <given-names>Philippe</given-names>
            <surname>Flajolet</surname>
          </string-name>
          .
          <article-title>Basic analytic combinatorics of directed lattice paths</article-title>
          .
          <source>Theor. Comput. Sci.</source>
          ,
          <volume>281</volume>
          (
          <issue>1-2</issue>
          ):
          <fpage>37</fpage>
          -
          <lpage>80</lpage>
          ,
          <year>2002</year>
          .
          <volume>10</volume>
          .1016/S0304-
          <volume>3975</volume>
          (
          <issue>02</issue>
          )
          <fpage>00007</fpage>
          -
          <lpage>5</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>Gilles</given-names>
            <surname>Barthe</surname>
          </string-name>
          ,
          <string-name>
            <surname>Joost-Pieter Katoen</surname>
            , and
            <given-names>Alexandra</given-names>
          </string-name>
          <string-name>
            <surname>Silva</surname>
          </string-name>
          .
          <source>Foundations of Probabilistic Programming</source>
          . Cambridge University Press,
          <year>2020</year>
          .
          <volume>10</volume>
          .1017/9781108770750
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Ezio</given-names>
            <surname>Bartocci</surname>
          </string-name>
          , Laura Kovács and
          <string-name>
            <given-names>Miroslav</given-names>
            <surname>Stankovic</surname>
          </string-name>
          .
          <article-title>Automatic Generation of Moment-Based Invariants for Prob-Solvable Loops</article-title>
          .
          <source>ATVA</source>
          <year>2019</year>
          , LNCS,
          <volume>11781</volume>
          :
          <fpage>255</fpage>
          -
          <lpage>276</lpage>
          , Springer,
          <year>2019</year>
          .
          <volume>10</volume>
          .1007/978- 3-
          <fpage>030</fpage>
          -31784-3_
          <fpage>15</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>Kevin</given-names>
            <surname>Batz</surname>
          </string-name>
          , Mingshuai Chen,
          <string-name>
            <given-names>Sebastian</given-names>
            <surname>Junges</surname>
          </string-name>
          , Benjamin Lucien Kaminski,
          <string-name>
            <surname>Joost-Pieter Katoen</surname>
            and
            <given-names>Christoph</given-names>
          </string-name>
          <string-name>
            <surname>Matheja</surname>
          </string-name>
          .
          <source>Probabilistic Program Verification via Inductive Synthesis of Inductive Invariants. TACAS</source>
          <year>2023</year>
          , LNCS,
          <volume>13994</volume>
          :
          <fpage>410</fpage>
          -
          <lpage>429</lpage>
          , Springer,
          <year>2023</year>
          .
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          -30820-8_
          <fpage>25</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>Benjamin</given-names>
            <surname>Bichsel</surname>
          </string-name>
          , Timon Gehr and
          <string-name>
            <surname>Martin</surname>
            <given-names>T.</given-names>
          </string-name>
          <string-name>
            <surname>Vechev</surname>
          </string-name>
          .
          <article-title>Fine-Grained Semantics for Probabilistic Programs</article-title>
          .
          <source>ESOP</source>
          <year>2018</year>
          , LNCS,
          <volume>10801</volume>
          :
          <fpage>145</fpage>
          -
          <lpage>185</lpage>
          , Springer,
          <year>2018</year>
          .
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -89884-
          <issue>1</issue>
          _
          <fpage>6</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Michele</given-names>
            <surname>Boreale</surname>
          </string-name>
          .
          <article-title>Analysis of Probabilistic Systems via Generating Functions and Padé Approximation</article-title>
          .
          <source>ICALP</source>
          <year>2015</year>
          , LNCS,
          <volume>9135</volume>
          :
          <fpage>82</fpage>
          -
          <lpage>94</lpage>
          , Springer,
          <year>2015</year>
          .
          <volume>10</volume>
          .1007/978-3-
          <fpage>662</fpage>
          -47666-
          <issue>6</issue>
          _
          <fpage>7</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Michele</given-names>
            <surname>Boreale</surname>
          </string-name>
          .
          <article-title>Complete Algorithms for Algebraic Strongest Postconditions and Weakest Preconditions in Polynomial ODE'S</article-title>
          .
          <source>SOFSEM</source>
          <year>2018</year>
          , LNCS
          <volume>10706</volume>
          :
          <fpage>442</fpage>
          -
          <lpage>455</lpage>
          , Springer,
          <year>2018</year>
          .
          <volume>10</volume>
          .1007/978- 3-
          <fpage>319</fpage>
          -73117-9_
          <fpage>31</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Michele</given-names>
            <surname>Boreale</surname>
          </string-name>
          .
          <article-title>Algorithms for exact and approximate linear abstractions of polynomial continuous systems</article-title>
          .
          <source>HSCC</source>
          <year>2018</year>
          :
          <fpage>207</fpage>
          -
          <lpage>216</lpage>
          , ACM,
          <year>2018</year>
          .
          <volume>10</volume>
          .1145/3178126.3178137
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>Michele</given-names>
            <surname>Boreale</surname>
          </string-name>
          .
          <article-title>Algebra, coalgebra, and minimization in polynomial diferential equations</article-title>
          .
          <source>Log. Methods Comput. Sci</source>
          .
          <volume>15</volume>
          (
          <issue>1</issue>
          ),
          <year>2019</year>
          .
          <volume>10</volume>
          .23638/LMCS-
          <volume>15</volume>
          (
          <issue>1</issue>
          :14)
          <fpage>2019</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Michele</given-names>
            <surname>Boreale</surname>
          </string-name>
          .
          <article-title>On the Coalgebra of Partial Diferential Equations</article-title>
          .
          <source>MFCS 2019: LIPIcs</source>
          <volume>138</volume>
          :
          <issue>24</issue>
          :
          <fpage>1</fpage>
          -
          <lpage>24</lpage>
          :
          <fpage>13</fpage>
          ,
          <year>2019</year>
          .
          <volume>10</volume>
          .4230/LIPICS.MFCS.
          <year>2019</year>
          .24
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>Michele</given-names>
            <surname>Boreale</surname>
          </string-name>
          .
          <article-title>Automatic pre- and postconditions for partial diferential equations</article-title>
          .
          <source>Inf. Comput</source>
          .
          <volume>285</volume>
          :
          <issue>104860</issue>
          ,
          <year>2022</year>
          .
          <volume>10</volume>
          .1016/J.IC.
          <year>2021</year>
          .104860
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Michele</surname>
            <given-names>Boreale</given-names>
          </string-name>
          , Roberto Bruni, Rocco De Nicola, Michele Loreti.
          <article-title>CaSPiS: a calculus of sessions, pipelines</article-title>
          and services.
          <source>Math. Struct. Comput. Sci</source>
          .
          <volume>25</volume>
          (
          <issue>3</issue>
          ):
          <fpage>666</fpage>
          -
          <lpage>709</lpage>
          ,
          <year>2015</year>
          .
          <volume>10</volume>
          .1017/S0960129512000953
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Michele</surname>
            <given-names>Boreale</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Luisa</given-names>
            <surname>Collodi</surname>
          </string-name>
          .
          <article-title>Bayesian Parameter Estimation with Guarantees via Interval Analysis and Simulation</article-title>
          .
          <source>VMCAI</source>
          <year>2023</year>
          , LNCS,
          <volume>13881</volume>
          :
          <fpage>106</fpage>
          -
          <lpage>128</lpage>
          , Springer,
          <year>2023</year>
          .
          <volume>10</volume>
          .1007/978-3-
          <fpage>031</fpage>
          - 50521-
          <issue>8</issue>
          _
          <fpage>7</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <surname>Michele</surname>
            <given-names>Boreale</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Luisa</given-names>
            <surname>Collodi</surname>
          </string-name>
          .
          <article-title>Guaranteed Inference for Probabilistic Programs: A Parallelisable, Small-Step Operational Approach</article-title>
          .
          <source>VMCAI</source>
          <year>2024</year>
          , LNCS,
          <volume>14500</volume>
          :
          <fpage>141</fpage>
          -
          <lpage>162</lpage>
          , Springer,
          <year>2024</year>
          .
          <volume>10</volume>
          .1007/978- 3-
          <fpage>031</fpage>
          -50521-
          <issue>8</issue>
          _
          <fpage>7</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>Michele</surname>
            <given-names>Boreale</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Daniele</given-names>
            <surname>Gorla</surname>
          </string-name>
          .
          <article-title>Approximate Model Counting, Sparse XOR Constraints and Minimum Distance</article-title>
          .
          <source>The Art of Modelling Computational Systems, LNCS</source>
          <volume>11760</volume>
          :
          <fpage>363</fpage>
          -
          <lpage>378</lpage>
          ,
          <year>2019</year>
          .
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -31175-9_
          <fpage>21</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Michele</surname>
            <given-names>Boreale</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Francesca</given-names>
            <surname>Pampaloni</surname>
          </string-name>
          .
          <article-title>Quantitative Information Flow under Generic Leakage Functions and Adaptive Adversaries</article-title>
          .
          <source>FORTE</source>
          <year>2014</year>
          , LNCS
          <volume>8461</volume>
          :
          <fpage>166</fpage>
          -
          <lpage>181</lpage>
          , Springer,
          <year>2014</year>
          .
          <volume>10</volume>
          .1007/978- 3-
          <fpage>662</fpage>
          -43613-4_
          <fpage>11</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <surname>Michele</surname>
            <given-names>Boreale</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Michela</given-names>
            <surname>Paolini</surname>
          </string-name>
          .
          <article-title>On Formally Bounding Information Leakage by Statistical Estimation</article-title>
          .
          <source>ISC</source>
          <year>2014</year>
          , LNCS
          <volume>8783</volume>
          :
          <fpage>216</fpage>
          -
          <lpage>236</lpage>
          , Springer,
          <year>2014</year>
          .
          <volume>10</volume>
          .1007/978-3-
          <fpage>319</fpage>
          -13257-0_
          <fpage>13</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <surname>Mingshuai</surname>
            <given-names>Chen</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Joost-Pieter</surname>
            <given-names>Katoen</given-names>
          </string-name>
          ,
          <source>Lutz Klinkenberg and Tobias Winkler. Does a Program</source>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>