Abstract

 

 

Dexter Kozen: Coinductive Proof Principles for Stochastic Processes

Coinduction (or "baseless induction") has been shown to be a useful tool in functional programming.  Streams, automata, concurrent and stochastic processes, and recursive types have been successfully analyzed using coinductive methods.

Most approaches emphasize the relationship between coinduction and bisimulation.  There is a coinduction principle that states that under certain conditions, two bisimilar processes must be equal.  For example, to prove the equality of infinite streams s=merge(split(s)), where merge and split satisfy the familiar coinductive definitions

merge(a::s,t) = a::merge(t,s)

#1(split(a::b::r)) = a::#1(split(r))

#2(split(a::b::r)) = b::#2(split(r)),

it suffices to show that the two streams are bisimilar.  An alternative view is that certain systems of recursive equations over a certain algebraic structure have unique solutions.

Desharnais et al. (2002,2004) study bisimulation in a probabilistic context.  They are primarily interested in the approximation of one process with another.  Again, they focus on bisimulation, but do not formulate an explicit coinduction rule.

In this talk I will describe an explicit coinduction principle for recursively-defined stochastic processes and dynamical systems.  I will illustrate the use of the rule in deriving some properties of a simple coin-flip process.