Det pumpande lemma ( tillväxtlemma , pumpande lemma ; engelska pumping lemma ) är ett viktigt påstående inom automatteorin , som i många fall tillåter att kontrollera om ett givet språk är automatiserat . Eftersom alla finita språk är automater, är det vettigt att göra denna kontroll endast för oändliga språk. Termen "pumpning" i rubriken på lemma reflekterar möjligheten till upprepad upprepning av någon delsträng i valfri sträng av lämplig längd i vilket oändligt automatspråk som helst.
Det finns också ett tillväxtlemma för sammanhangsfria språk , ett ännu mer allmänt påstående är tillväxtlemmat för indexspråk .
För ett oändligt automatspråk över ett alfabet , finns det ett naturligt tal , så att det för alla ord av längd åtminstone finns ord sådana att , , och för varje icke-negativt heltal är strängen ett ord i språket .
Notation i kvantifierare:
.Låt ett automatspråk innehålla ett oändligt antal kedjor och antag att det känns igen av en deterministisk finit automat med tillstånd . För att kontrollera slutsatsen av lemma väljer vi en godtycklig kedja av detta språk som har längd .
Om den finita automaten känner igen , är kedjan tillåten av denna automat, det vill säga i automaten finns en längdväg från initial till ett av sluttillstånden, markerad med kedjesymboler . Denna väg kan inte vara enkel, den måste passera exakt genom tillståndet, medan automaten har tillstånd. Detta betyder att denna väg passerar minst två gånger genom samma tillstånd av automaten , det vill säga det finns en cykel med ett upprepat tillstånd på denna väg. Låt detta vara ett upprepande tillstånd .
Låt oss dela upp kedjan i tre delar, så att , var är underkedjan som överförs från staten tillbaka till staten , och är underkedjan som överförs från staten till det slutliga tillståndet. Observera att både och kan vara tomma, men delsträngen kan inte vara tom. Men då är det uppenbart att automaten också måste tillåta kedjan , eftersom den upprepade delsträngen återigen följer den cykliska vägen från till , såväl som kedjan och någon av formen .
Detta resonemang utgör beviset på det pumpande lemmat.
En annan form av detta lemma, som ibland är bekvämare att tillämpa för att bevisa att ett visst språk är icke-automatiskt, för ett språk över ett alfabet är följande - om fallet gäller:
då är språket icke-automatiskt.
För att bevisa att ett språk är icke-automatiskt kan man också använda det faktum att skärningspunkten mellan vanliga språk är regelbunden. Det är alltså problematiskt att direkt applicera det pumpande lemmat på språket för vanliga parentesstrukturer i alfabetet , men dess skärning med språket ger språket , vars icke-automatik trivialt följer av det pumpande lemmat.