topological finite automata