Pracuję nad ciężkim ćwiczeniem w podręczniku i po prostu nie mogę wymyślić, jak postępować. Oto problem. Załóżmy, że mamy język gdzie jest liczbą nieracjonalną. Jak mam udowodnić, że nie jest językiem bezkontekstowym?
W przypadku, gdy jest racjonalna, całkiem łatwo jest zbudować gramatykę, która akceptuje język. Ale ponieważ jest irracjonalna, tak naprawdę nie wiem, co robić. Nie wygląda na to, żeby działał tu któryś z pompujących lematów. Być może twierdzenie Parikha działałoby tutaj, ponieważ intuicyjnie wydawałoby się, że ten język nie ma towarzyszącego półiliniowego obrazu Parikha.
Ćwiczenie pochodzi z „Drugiego kursu języków formalnych i teorii automatów” Jeffrey'a Shallita, ćwiczenie 25 rozdziału 4.
Byłbym naprawdę wdzięczny za wszelką pomoc lub trąci we właściwym kierunku. Dziękuję Ci!
Odpowiedzi:
Zgodnie z twierdzeniem Parikha, gdybyL były pozbawione kontekstu, wówczas zbiór M={(a,b):a≤γb} byłby półliniowy, to znaczy byłby sumą skończonej liczby zbiorów S=u0+Nu1+⋯+Nuℓ , dla niektórych ui=(ai,bi) .
Oczywiścieu0∈M , a ponadto uja∈ M. dla każdego i > 0 , gdyż w przeciwnym razie u0+ Nuja∉ M. o wystarczająco dużej N. . Dlatego sol( S):=max(a0/b0,…,aℓ/bℓ)<γ (ponieważ g(S) jest racjonalny). Oznacza to, że każda (a,b)∈S spełnia .a/b≤g(S)
Załóżmy teraz, że jest sumą i zdefiniuj . Powyższe pokazuje, że każdy w związku spełnia , i otrzymujemy sprzeczność, ponieważM S(1),…,S(m) g=max(g(S(1)),…,g(S(m)))<γ (a,b) a/b≤g<γ sup{a/b:(a,b)∈M}=γ .
Gdyγ jest racjonalne, dowód się nie udaje i rzeczywiście M jest półliniowy:
{(a,b):a≤stb}=⋃a=0s−1(a,⌈tsa⌉)+N(s,t)+N(0,1).
Rzeczywiście, z konstrukcji, każda para(a,b) po prawej stronie spełniaa≤stb (ponieważs=stt ). Odwrotnie, załóżmy, żea≤stb . Podczas≥aib≥t, odejmowanie(s,t),z(a,b). W końcua<s(ponieważb<toznaczaa≤sa≥s b≥t (s,t) (a,b) a<s b<t a≤stb<s ). Ponieważa≤stb , koniecznieb≥⌈tsa⌉ . W związku z tym można odjąć(0,1) z(a,b) aż do osiągnięcia(a,⌈tsa⌉) .
źródło
Każda zmienna opróczγ w tej odpowiedzi oznacza dodatnią liczbę całkowitą. Dobrze wiadomo, że przy irracjonalnym γ>0 istnieje ciąg liczb wymiernych a1b1<a2b2<a3b3<⋯<γ tak, żeaibi jest bliżejγ niż jakikolwiek inny numer racjonalnego mniejszej niżγ , którego mianownik jest mniejszy niżbi .
Okazuje się, że lemat pompujący działa!
Ze względu na sprzeczność niechp będzie długością L jako języka bezkontekstowego. Niech s=aapbbp , słowo, które jest L ale „ledwo”. Zauważ, że |s|>bp≥p . Rozważ
s=uvwxy , gdzie |vx|>1 i sn=uvnwxny∈L dla wszystkichn≥0 .
Niechta i tb będą liczbą a si i b s w vx .
Powyższa sprzeczność pokazuje, żeL nie może być pozbawiony kontekstu.
Oto dwa powiązane łatwiejsze ćwiczenia.
Ćwiczenie 1. Pokaż, żeLγ={a⌊iγ⌋:i∈N} nie jest pozbawione kontekstu, gdzie γ jest liczbą niewymierną.
Ćwiczenie 2. Pokaż, żeLγ={aibj:i≤jγ,i≥0,j≥0} jest pozbawione kontekstu, gdzie γ jest liczbą wymierną.
źródło