diff -r a61b50c5d57f -r 7975e4f0d4de handouts/ho02.tex --- a/handouts/ho02.tex Fri Dec 05 01:00:34 2014 +0000 +++ b/handouts/ho02.tex Fri Dec 05 17:13:33 2014 +0000 @@ -133,7 +133,7 @@ with these equivalences and non-equivalences. -For our matching algorithm however the following six +For our matching algorithm however the following seven equivalences will play an important role: \begin{center} @@ -333,7 +333,7 @@ \noindent Again the operation $Der$ might help to rationalise this algorithm. We want to know whether $abc \in L(r_1)$. We -do not know yet. But lets assume it is. Then $Der\,a\,L(r_1)$ +do not know yet. But let us assume it is. Then $Der\,a\,L(r_1)$ builds the set where all the strings not starting with $a$ are filtered out. Of the remaining strings, the $a$ is stripped off. Then we continue with filtering out all strings not @@ -492,7 +492,7 @@ size of regular expressions it needs to handle. This is of course obvious because both $nullable$ and $der$ need to traverse the whole regular expression. There seems to be one -more source of making the algorithm run faster. The derivative +more issue for making the algorithm run faster. The derivative function often produces ``useless'' $\varnothing$s and $\epsilon$s. To see this, consider $r = ((a \cdot b) + b)^*$ and the following two derivatives