prog automata