# How to apply the pumping lemma for CFGs to languages that contain the empty string

The pumping lemma states that if we can split a string w (taken from a context-free language L) as uvxyz with conditions |vy|>=1 |vxy|<=p |w|>=p for some p then $uv^ixy^iz$ is in L for any i.

However, some context-free languages include the empty string, which has length 0. How can we possibly split the empty string to satisfy the condition |vy|>=1?

For instance, the following language $\{0^n1^n0^n1^n|n>=0 \}$ contains the empty string but is not context-free, so how can I ensure a string taken from it can we split as uvxyz with |vy|>=1?

Thanks!

The pumping lemma requires the word $w$ you start with to be large enough — larger than the pumping lemma constant $p$.
However, this doesn't really answer your question, which is how to ensure that the string given to the pumping lemma is not empty. Here you are very lucky — you are the one choosing the string! The pumping lemma only states that whatever string $w$ you choose from the language (as long as it is long enough), it can be decomposed as $w = uvxyz$ so that $uv^ixy^iz$ is in the language for all $i \geq 0$, $vy \neq \epsilon$, and $|vxy| \leq p$.