Deciding Probabilistic Program Equivalence in NetKAT
We tackle the problem of deciding whether a pair of probabilistic programs are equivalent in the context of Probabilistic NetKAT, a formal language for reasoning about the behavior of packet-switched networks. We show that the problem is decidable for the history-free fragment of the language. The main challenge lies in reasoning about iteration, which we address by a reduction to finite-state absorbing Markov chains. This approach naturally leads to an effective decision procedure based on stochastic matrices that we have implemented in an OCaml prototype. We demonstrate how to use this prototype to reason about probabilistic network programs.
READ FULL TEXT