change the class so that it represents an equivalent deterministic finite automaton called DFA. This entails that the transition method should now have signature `transition(self, input: Input) -> State`. An automaton is equivalent if the languages that they both accept are the same.
