Proving a Language Non-Regular

Context: FIT2014_MOC · the exam-standard use of the Pumping Lemma · two routes: pump a well-chosen word, or derive a contradiction from closure Problem it solves: given a language, prove it is not regular.

Quick Revision

  • 🎯 Trigger: a language that seems to need counting or matching unboundedly ➔ assume regular, get , choose a word, pump, contradict.
  • ⚡ Key Constraint: choose so that leaves only ONE case. A lazy choice forces a three-case slog; a good choice makes the proof four lines.

📐 Route 1 — the Pumping Lemma recipe

  1. Assume is regular. By Kleene’s Theorem it is recognised by some FA; let be its number of states.
  2. Choose a suitable word with you get this choice, so choose to make step 4 easy.
  3. Consider any with , and . (You must handle every such decomposition.)
  4. Exhibit an with (usually , sometimes ).
  5. Contradiction with the Pumping Lemma ⟹ is not regular.

🥇 Worked example — HALF-AND-HALF

The naive choice forces three cases:

Case is…Why
1all smore s than s (since )
2all smore s than s
3contains an has two occurrences of , impossible in

The good choice leaves one case:

  • The lesson ➔ the naive proof never used . Exploiting it is what collapses three cases into one.

🥈 Worked example — PALINDROME

  • Choose (a palindrome, and ).
  • Constraint bites forces to sit inside the first block of s, so is all s with .
  • Pump has leading s but still trailing s, so the solitary now sits more than half-way along ⟹ not a palindrome ⟹ . Contradiction.

📐 Route 2 — the closure argument (often much faster)

If combined with a known regular language via a closure-preserving operation yields a known non-regular language, then cannot be regular.

Worked example — EQUAL words with equally many s and s:

  • When to reach for it ➔ when the language is “close to” a known non-regular one; intersecting with a simple regex like often strips away the noise.

✍️ Practice

⚠️ Common Mistakes

  • 💡 You choose ; you do NOT choose ➔ the lemma says there exist ; to contradict it you must defeat every valid decomposition. Picking a convenient yourself is the most common invalid proof.
  • 💡 Always use ➔ it is what pins inside the first letters. A proof that ignores it needs far more cases (and often stalls).
  • 💡 is a habit, not a rule ➔ for strict-inequality languages, pumping down to is usually the shorter kill.
  • 💡 You cannot prove regularity this way ➔ to show a language is regular, build a regex or FA instead (Pumping Lemma for Regular Languages is a one-way tool).

🧠 Active Recall