| author | Christian Urban <christian dot urban at kcl dot ac dot uk> | 
| Sun, 02 Nov 2014 09:10:15 +0000 | |
| changeset 295 | 19f23c4c2167 | 
| parent 292 | 7ed2a25dd115 | 
| child 314 | 7dd5797a5ffa | 
| permissions | -rw-r--r-- | 
| 208 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 1 | \documentclass{article}
 | 
| 292 
7ed2a25dd115
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
208diff
changeset | 2 | \usepackage{../style}
 | 
| 
7ed2a25dd115
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
208diff
changeset | 3 | \usepackage{../graphics}
 | 
| 208 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 4 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 5 | \begin{document}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 6 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 7 | \section*{Homework 9}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 8 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 9 | \begin{enumerate}
 | 
| 292 
7ed2a25dd115
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
208diff
changeset | 10 | \item Describe what is meant by \emph{eliminating tail
 | 
| 
7ed2a25dd115
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
208diff
changeset | 11 | recursion}, when such an optimization can be applied and | 
| 
7ed2a25dd115
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
208diff
changeset | 12 | why it is a benefit? | 
| 208 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 13 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 14 | \item It is true (I confirmed it) that | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 15 | |
| 292 
7ed2a25dd115
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
208diff
changeset | 16 | \begin{center} if $\varnothing$ does not occur in $r$
 | 
| 
7ed2a25dd115
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
208diff
changeset | 17 | \;\;then\;\;$L(r) \not= \{\}$ 
 | 
| 208 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 18 | \end{center}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 19 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 20 | \noindent | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 21 | holds, or equivalently | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 22 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 23 | \begin{center}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 24 | $L(r) = \{\}$ \;\;implies\;\; $\varnothing$ occurs in $r$.
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 25 | \end{center}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 26 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 27 | \noindent | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 28 | You can prove either version by induction on $r$. The best way to | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 29 | make more formal what is meant by `$\varnothing$ occurs in $r$', you can define | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 30 | the following function: | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 31 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 32 | \begin{center}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 33 | \begin{tabular}{@ {}l@ {\hspace{2mm}}c@ {\hspace{2mm}}l@ {}}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 34 | $occurs(\varnothing)$ & $\dn$ & $true$\\ | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 35 | $occurs(\epsilon)$ & $\dn$ & $f\!alse$\\ | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 36 | $occurs (c)$ & $\dn$ & $f\!alse$\\ | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 37 | $occurs (r_1 + r_2)$ & $\dn$ & $occurs(r_1) \vee occurs(r_2)$\\ | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 38 | $occurs (r_1 \cdot r_2)$ & $\dn$ & $occurs(r_1) \vee occurs(r_2)$\\ | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 39 | $occurs (r^*)$ & $\dn$ & $occurs(r)$ \\ | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 40 | \end{tabular}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 41 | \end{center}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 42 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 43 | \noindent | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 44 | Now you can prove | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 45 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 46 | \begin{center}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 47 | $L(r) = \{\}$ \;\;implies\;\; $occurs(r)$.
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 48 | \end{center}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 49 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 50 | \noindent | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 51 | The interesting cases are $r_1 + r_2$ and $r^*$. | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 52 | The other direction is not true, that is if $occurs(r)$ then $L(r) = \{\}$. A counter example
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 53 | is $\varnothing + a$: although $\varnothing$ occurs in this regular expression, the corresponding | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 54 | language is not empty. The obvious extension to include the not-regular expression, $\sim r$, | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 55 | also leads to an incorrect statement. Suppose we add the clause | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 56 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 57 | \begin{center}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 58 | \begin{tabular}{@ {}l@ {\hspace{2mm}}c@ {\hspace{2mm}}l@ {}}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 59 | $occurs(\sim r)$ & $\dn$ & $occurs(r)$ | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 60 | \end{tabular}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 61 | \end{center}  
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 62 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 63 | \noindent | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 64 | to the definition above, then it will not be true that | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 65 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 66 | \begin{center}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 67 | $L(r) = \{\}$ \;\;implies\;\; $occurs(r)$.
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 68 | \end{center}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 69 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 70 | \noindent | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 71 | Assume the alphabet contains just $a$ and $b$, find a counter example to this | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 72 | property. | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 73 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 74 | \end{enumerate}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 75 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 76 | \end{document}
 | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 77 | |
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 78 | %%% Local Variables: | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 79 | %%% mode: latex | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 80 | %%% TeX-master: t | 
| 
bd5a8a6b3871
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: diff
changeset | 81 | %%% End: |