An automata--theoretic approach to automatic program verification