Skip to Main Content
We present algorithms for the qualitative and quantitative model checking of linear temporal logic (LTL) properties for recursive Markov chains (RMCs). Recursive Markov chains are a natural abstract model of procedural probabilistic programs and related systems involving recursion and probability. For the qualitative problem ("given a RMC A and an LTL formula φ, do the computations of A satisfy φ almost surely?) we present an algorithm that runs in polynomial space in A and exponential time in φ. For several classes of RMCs, including RMCs with one exit (a special case that corresponds to well-studied probabilistic systems, e.g., multi-type branching processes and stochastic context-free grammars) the algorithm runs in polynomial time in A and exponential time in φ. On the other hand, we also prove that the problem is EXPTIME-hard, and hence it is EXPTlME-complete. For the quantitative problem ("does the probability that a computation of A satisfies φ exceed a given threshold p?", or approximate the probability within a desired precision) we present an algorithm that runs in polynomial space in A and exponential space in φ. For linearly-recursive RMCs, we can compute the exact probability in time polynomial in A and exponential in φ. These results improve by one exponential, in both the qualitative and quantitative case, the complexity that one would obtain if one first translated the LTL formula to a Buchi automaton and then applied the model checking algorithm for Buchi automata from K. Etessami and M. Yannakakis (2005). Our results combine techniques developed in A. Pnueli and L. D. Zuck. (1993) for analysts of RMCs and in C. Courcoubetis and M. Yannakakis (1995) for LTL model checking of flat Markov Chains, and extend them with new techniques.