nondeterministic finite automaton