The rest of the assignments (for assignment 1) were returned. Today: more examples for proving irregularity, unary vs binary languages, understanding an arbitrary DFA.
1Proving irregularity, continued¶
$$L = \{a^n \,\mid\, n \text{ is prime}\}$$
This is clearly not regular. We can prove this using the contrapositive of the pumping lemma, as we did last time.
 A picks $p$
 You choose $w = a^n$ where $n \geq p + 2$ is prime
 A chooses some $y = a^m$ where $1 \leq m \leq p$. Since $w = xyz$, $xz = w  y = n  m$.
 Now, $xy^iz = xz + y \cdot i = n  m + im = n  m(i1)$. If you choose $i = n+1$, then $xy^iz = n  m(n1+1) = nmn = (m+1)n$, which is not prime if neither $n$ nor $m+1$ are 1. Since $n \geq p+2$, and $m \geq 1$, then yes, neither factor is 1. Thus $xy^iz$ is not prime, and so $xy^iz \notin L$. $\blacksquare$
1.1Further examples¶
Left as an exercise for the diligent reader.
 $L = \{a^n \, \mid \, n \geq 0\}$ ^{1}
 $L = \{a^{n^2} \,\mid\,n\geq 0\}$
2Regular infinite subsets¶
We know (from last lecture) that $L = \{a^nb^n \, \mid \, n \geq 0\}$ is not regular. Does it have any infinite regular subsets?^{2} No, it does not. One way to prove this is to show that there are infinitely many equivalence classes (recall MyhillNerode), of the form $[a^n]$ for some $n$. Another way is to use the pumping lemma (the steps are the same as for $\{a^nb^n\,\mid\,n\geq 0\}$).
Consider another language: $\{w\,\mid\,N_a(w) = N_b(w)\}$. We saw last time that this is also not regular. Does this language have any infinite regular subsets? Yes, it does: $(ab)^*$ is one prominent example.
3Unary and binary languages¶
Suppose $S \subseteq \mathbb{N}$. We define the unary function as follows:
$$\text{unary}(S) = \{w \,\mid\, w \in S\}$$
where $\text{unary}(S) \subseteq \{a\}^*$. For example, if $S = \{2, 3, 5\}$, then $\text{unary}(S) = \{aa, aaa, aaaaa\}$.
Similarly, we define binary in the usual way. $\text{binary}(S) \subseteq \{0, 1\}^*$, and $\text{binary}(S) = \{10, 11, 101\}$.
Consider the relationship between binary and unary. Here are two statements:
 ($\alpha$) If $\text{unary}(S)$ is regular, then so is $\text{binary}(S)$.
 ($\beta$) If $\text{binary}(S)$ is regular, then so is $\text{unary}(S)$.
One of them is true, the other is false. Since unary is a simpler system than binary, one might expect that ($\alpha$) is true, and $(\beta)$ is false. Indeed, this is correct: a counterexample to ($\beta$) is $10^*$, which is obviously regular as it is a regular expression; however, the corresponding unary language, $\{a^{2^n} \,\mid\,n \geq 0\}$, is not regular, as we showed last class.
Let's now prove that ($\alpha$) is true. First, consider the structure of the DFA for any regular language over a 1letter alphabet. Since there's only one letter in the alphabet, there can only be 1 transition (at most) out of any state. So there's only one possible path to follow, and there is at most one looparound (possibly none, if the language is finite), and some of the states are accept states.
At this point, we introduce a new term: an ultimately periodic set $U \subseteq \mathbb N$ is a set defined by 2 positive integers, $p$ and $n_0$, such that $\forall n \geq n_0$, if $n \in U$, then $n+p\in U$ (so $p$ is the period).
The fact that the only possible path loops back around at some point means that the lengths of words in any regular language over a 1letter alphabet form an ultimately periodic set.^{3} Then $\text{binary}(S)$ will be the binary encoding of an ultimately periodic set, which can also be thought of as the union of a finite set and a periodic set. It should be clear that we can construct a DFA over a binary alphabet for any such language.
4Understanding an arbitrary DFA¶
Suppose you're given an arbitrary DFA $M$ with $n$ states. We can prove the following:
The set of words accepted by $M$ is nonempty $\iff$ $M$ accepts a word of length $\leq n$.
(Proof omitted)
The set of words accepted by $M$ is infinite $\iff$ $M$ acccepts a word of length $l$, where $n < l < 2n$.
(Proof left as an exercise)
So if we wish to determine what $M$ accepts (treating it as a black box), we could just try every word up to length $n$. If no such words are accepted, then we know that $M$ doesn't accept anything  it recognises the empty language.
4.1Transition graphs¶
Given the transition graph for a DFA, we can check if the machine accepts:
 The empty language: Check reachability (BFS/DFS). If no accept states are reachable, then it accepts the empty language.
 An infinite language: Test for cycles, reachability, and accept states.
 Everything: Check if all reachable states are accept states.

This seems regular to me, as it's just a*. Is there a typo? ↩

All finite subsets are regular, so we turn our attention to the infinite subsets. ↩

If there are no loops, then the language is finite, and so the statement is still true, it's just that $n_0$ can be some number $\geq$ the length of the longest word, so that the periodic part is empty. ↩