-1

$D → T ∨ D | T$

$T → C ∧ T | C$

$C → ¬C | name | ( D )$

$name → a | b | c | d$

I am not looking for the complete answer, but more the methodology of working this out. How would I go about proving that this language is not regular?

Raphael
  • 73,212
  • 30
  • 182
  • 400
Djoni
  • 33
  • 3

1 Answers1

1
  • First you need to have a good idea of what the language really looks like. The grammar does not tell you much in an obvious way. Play around with some examples of derivations.
  • The most common way of proving that a language is not regular is the pumping lemma for regular languages. In this case it might no be easy to apply it. A good option is to
  • simplify the language using closure properties. For example, the intersection of two regular languages is regular again. Now check what the intersection of you language with the regular $(^+ a )^+$ is. On this you should be able to apply the pumping lemma without big complications. If you manage to prove that this intersection is not regular, your original language cannot have been regular.
Peter Leupold
  • 777
  • 4
  • 9