# Lecture 03

## Establishing regularity

\(L=\{w_1, w_2, ...,w_n: n\geq 2, w_{n-1} = 1\}\)

**Proposition**: \(L\) is regular **Proof**:

**Aside**:

- \(Q=\{q_{00}, q_{01}, q_{10}, q_{11}\}\)
- \(\Sigma=\{0,1\}\)
- \(\delta=...\)
- \(q_0=q_{00}\)
- \(F=\{q_{10}, q_{11}\}\)

First, \(M\) does not accept \(\epsilon\) because \(q_{00}\not\in\epsilon\).

The only states that can be reached with one transition are \(q_{00}, q_{01}\), neither of which is in \(F\), so \(M\) correctly does not accept them.

Let \(W=w_1,...,w_n\), \(n\geq 2\) where \(n_{n-1}=1\). For any state \(q\in Q\), \(\delta(q,1)\in\{q_{00}, q_{01}\}\), so the state \(r_{n-1}\) reached after reading \(n-1\) symbols is \(q_{01}\) or \(q_{11}\). For any \(\sigma\in\{0,1\}\) \(\delta(q_{01}, \sigma)\in\{q_{10}, q_{11}\}\) and \(\delta(q_{11}, \sigma)\in\{q_{10}, q_{11}\}\). In all these cases, we end up in a state in \(F\) and \(M\) correctly accepts.

When \(W=w_1,...,w_n\), \(n\geq 2\) where \(n_{n-1}=0\), (similar argument shows that \(M\) never accepts).

## Regular Expressions

**Theorem** If \(L\) is a language over \(\Sigma\) that satisfies

- \(L=\emptyset\)
- \(L=\{\epsilon\}\)
- \(L=\{\sigma\}\) for \(\sigma\in\Sigma\)
- \(L=L_1\cup L_2\) for some regular languages \(L_1\), \(L_2\).
- \(L=L_1L_2=\{w_1w_2: w_1\in L_1, w_2\in L_2\}\) for regular \(L_1\), \(L_2\)
- \(L=L_1^*=\{w_1,...,w_n: n\geq 0, w_1,...,w_n\in L_1\}\) for regular \(L_1\)

then \(L\) is regular

**Proof**:

**Definition**: A string \(R\) over \(\Sigma\cup\{\bar\epsilon,|,*,(,)\}\) is regular expression if

- \(R=\epsilon\)
- \(R=\bar\epsilon\)
- \(R=\sigma\) for any \(\sigma\in\Sigma\)
- \(R=R_1|R_2\) for any regular expression \(R_1\), \(R_2\)
- \(R=R_1R_2\) for any regular expression \(R_1\), \(R_2\)
- \(R=R_1^*\) for any regular expression \(R_1\)
- \(R=(R_1)\) for any regular expression \(R_1\)

**Definition** \(L(R)\) is the language represented by regular expression \(R\)

**exercise** Define "representation of languages by regular expressions"

**exercise** Define a regular expression that represents the language

- All strings that end with \(1\)
- All strings that with even number of \(1\)s
- All string with even number of \(0\)s and even number of \(1\)s

## Kleene's Theorem

**Theorem** The language \(L\) is regular if and only if it can be represented by a regular expression.

#### Proof Sketch

- RE \(\rightarrow\) NFA, we already saw (Thompson's algorithm 1968).
- DFA \(\rightarrow\) RE (via generalized NFAs)
- Add start, end
- Replace \(a,b\) transition
- Remove states of \(M\) one at a time