6. Minimal DFAs

Consider the following DFA:



6.1.1. Identify a pair of states which are indistinguishable.

6.1.2. Identify a pair of final or non-final states which are distinguishable. The pair must be distinguished by a word different from the empty word.

6.1.3. Compute the table of indistinguishable states for the previous DFA.

6.2.1. Minimise the previous DFA.

6.2.2. Determine if the following regexes are equivalent: $ (1\cup\epsilon)(00^*1)^*0^*$ and $ (10\cup 0)^*(01 \cup 1)^*(0 \cup \epsilon)$

6.2.3. Write an algorithm draft for DFA minimisation. Focus on the best implementation for building states and transitions in the minimal DFA. Implement your algorithm.

6.3.1. Convert the following DFA to a Regex (using the state-elimination strategy). Hint: is it easier to apply conversion on another DFA?