Die Pumpeigenschaft (Pumping Lemma) besagt, dass für jede reguläre Sprache L eine natürliche Zahl n (die Pump-Länge) existiert, für die jedes Wort w∈L, dessen Länge ∣w∣≥n ist, in drei Teile w=xyz zerlegt werden kann, sodass die folgenden Bedingungen erfüllt sind:
- ∣xy∣≤n
(xy ist nicht länger als die Pump-Länge)
- ∣y∣≥1
(y ist nicht leer)
- Für alle k≥0 ist xykz∈L
(y kann beliebig oft gepumpt werden, und das resultierende Wort bleibt in L)
Erklärung
Die Pumpeigenschaft ist ein wichtiges Werkzeug in der theoretischen Informatik, um zu beweisen, dass eine gegebene Sprache nicht regulär ist. Dies geschieht in der Regel durch einen Widerspruchsbeweis:
- Man nimmt an, dass die Sprache L regulär ist.
- Aufgrund der Pumpeigenschaft muss dann eine Pump-Länge n existieren.
- Man wählt ein geeignetes Wort w∈L mit ∣w∣≥n, dessen Struktur einen Widerspruch beim Pumpen ermöglicht.
- Man zeigt, dass das Pumpen des Wortes w (d.h., die Erzeugung von xykz für ein geeignetes k) ein Wort erzeugt, das nicht in L enthalten ist.
- Da dies ein Widerspruch zur Annahme ist, muss die ursprüngliche Annahme falsch sein, und die Sprache L ist folglich nicht regulär.
Beispiel
Die Sprache L={akbk∣k≥0} ist nicht regulär.
Beweis (skizziert):
- Angenommen, L ist regulär. Dann existiert eine Pump-Länge n.
- Wähle das Wort w=anbn∈L. Offensichtlich ist ∣w∣=2n≥n.
- Gemäß der Pumpeigenschaft kann w in xyz zerlegt werden mit ∣xy∣≤n und ∣y∣≥1.
- Da ∣xy∣≤n und w=anbn, muss der Teil xy vollständig aus a's bestehen. Das bedeutet, y besteht ebenfalls nur aus a's (y=am für m≥1).
- Betrachte nun das Wort xy2z. Dies würde bedeuten, wir fügen weitere a's zum Wort hinzu. Das neue Wort hat die Form an+mbn.
- Da m≥1, ist n+m=n. Somit ist die Anzahl der a's ungleich der Anzahl der b's.
- Das Wort an+mbn ist nicht in L. Dies ist ein Widerspruch zur Pumpeigenschaft.
Daher ist die Sprache L={akbk∣k≥0} nicht regulär.