y
is some substring that can be "pumped" - repeated * times - and still keep the language regular. Basically, we have to find a loop in there somewhere, and that loop is what y
represents.
Basically, if the language is of the form 0m1m!
(m
zeroes followed by m!
ones) then there can't be a loop in there.
In this case, y
represents "the hypothetical pump string for the subset language {0m1m!}
" - hypothetical because it cannot exist! Clearly, no pumping is possible for this smaller language, since repetition will take us out of the language immediately. (consider the example 00111111
- can we find a pump string for this?) Therefore, we have a special case of the language which is not regular, therefore the language generally is not regular. (though it certainly contains special cases which are regular, but this is not in dispute)