Pompowanie lematu dla prostych skończonych języków regularnych


20

Wikipedia ma następującą definicję lematu pompującego dla zwykłych języków ...

Niech będzie zwykłym językiem. Następnie istnieje całkowita p ≥ 1 zależy wyłącznie od L , tak że każdy ciąg wagowych w L o długości co najmniej p ( p nazywany jest „pompowanie długość”) może być zapisane jako W = xyz (tj wag można podzielić na trzy podciągi), spełniający następujące warunki:p L.LpLL p p w x y z wwLppwxyzw

  1. | y | ≥ 1
  2. | xy | ≤ p
  3. dla wszystkich i ≥ 0, xyizL

Nie rozumiem, jak to jest spełnione w przypadku prostego, skończonego języka regularnego. Jeśli mam alfabetu { a,b } i wyrażenia regularnego ab następnie L składa się z tylko jednym słowem, które jest następnie b . Chcę teraz sprawdzić, czy mój zwykły język spełnia pompujący lemat ...ab

Ponieważ w moim wyrażeniu regularnym nic się nie powtarza, wartość y musi być pusta, aby warunek 3 był spełniony dla wszystkich i . Ale jeśli tak, to nie spełnia warunku 1, który mówi, że y musi mieć co najmniej 1 długość!

Jeśli zamiast tego pozwolę y być a , b lub ab wówczas spełni warunek 1, ale nie spełni warunku 3, ponieważ tak naprawdę nigdy się nie powtarza.

Najwyraźniej brakuje mi czegoś oczywistego. Który jest?

Odpowiedzi:


29

Masz rację - nie możemy pozwolić na „pompowanie” słowa skończonego L . Brakuje tego, że lemat mówi, że istnieje liczba p , ale nie podaje nam liczby.

Wszystkie słowa dłuższe niż mogą być pompowane przez lemat. Dla skończonego , zdarza się tak, że jest większa niż długość najdłuższego słowa w . Zatem lemat zachowuje się jedynie próżniowo i nie można go zastosować do żadnego słowa w , tj. Każde słowo w nie spełnia warunku „długości co najmniej ”, jak wymaga tego lemat.L p L LpLpLLpLp


Następstwo: jeśli ma długość pompowania i istnieje jakieś słowo o długości co najmniej , to jest nieskończone.p w L p LLpwLpL


2
Fajny przykład pustego zestawu spełniającego -statements.
Raphael

7

Pompowanie lematu jest zwykle stosowane w nieskończonych językach, tj. W językach, które zawierają nieskończoną liczbę słów. Dla każdego skończonego języka , ponieważ zawsze może być zaakceptowany przez DFA ze skończoną liczbą stanów, musi być regularny.LLL

Według wikipedii ( http://en.wikipedia.org/wiki/Pumping_lemma_for_regular_languages#Formal_statement ), pompowanie lematu mówi: (LΣ)(regular(L)((p1)((wL)((|w|p)((x,y,zΣ)(w=xyz(|y|1|xy|p(i0)(xyizL))))))))

Dla dowolnego skończonego języka , niech będzie maksymalną długością słów w , i niech w pompowaniu lematu będzie . Lemat pompowania utrzymuje się, ponieważ w nie ma słów, których długość .l m a x L p l m a x + 1 L l m a x + 1LlmaxLplmax+1Llmax+1


2

Jednym ze sposobów sformalizowania podstawowej części lematu Pompowanie jest użycie :Lk={wL|w|k}

Jeśli jest regularne, istnieje więcLpN

wLp. x,y,z (*).

Dla wszystkich skończonych i , oczywiście mamy . Dlatego (*) jest (próżno) prawdziwe dla takiego .p > max { | w | w L } L p = pLp>max{|w|wL}Lp=p

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.