194k views
1 vote
Prove that the following languages are not regular. You may use the pumping lemma and the closure of the class of regular languages under union, intersection, and complement

a. m, n >0
b.{w w € {0,1}' is not a palindrome}
c.{wtw w,t e {0,1}*}

1 Answer

3 votes

Final answer:

To prove that these languages are not regular, we can use the pumping lemma. Using the pumping lemma, we can demonstrate that the languages a. m, n >0, b.{w w € {0,1}' is not a palindrome}, and c.{w w w | w,t e {0,1}*} are not regular.

Step-by-step explanation:

a. m, n >0

To prove that this language is not regular, we can use the pumping lemma. The pumping lemma states that if a language L is regular, then there exists a constant p (the pumping length) such that any string s in L with length greater than or equal to p can be divided into three parts, s = xyz, where y is non-empty and |xy| ≤ p, such that for any non-negative integer i, the string xy^iz is also in L.

Let's assume that the language a is regular. Then using the pumping lemma, we can choose a string s = 0^p1010. Since the length of s is greater than p, we can divide it into xyz such that |xy| ≤ p and |y| > 0. Considering all possible cases for the division, we will find that pumping up the string s will eventually create a string that is not in the language a, which contradicts the assumption that a is regular. Therefore, the language a is not regular.

b. {w w € {0,1}' is not a palindrome}

This language consists of all strings that are not palindromes. To prove that this language is not regular, we can again use the pumping lemma. Let's assume that the language b is regular. We can choose a string s = 0^p1^p, where p is the pumping length. Since s has a length greater than p, we can divide it into xyz such that |xy| ≤ p and |y| > 0. Pumping up the string s will eventually create a string that is a palindrome, which contradicts the assumption that b is regular. Therefore, the language b is not regular.

c. {w w w | w,t e {0,1}*}

Let's assume that the language c is regular. We can choose a string s = 0^p1^p0^p, where p is the pumping length. Since s has a length greater than p, we can divide it into xyz such that |xy| ≤ p and |y| > 0. Pumping up the string s will eventually create a string that does not have three equal parts, which contradicts the assumption that c is regular. Therefore, the language c is not regular.

User Pixelou
by
8.0k points