Przecięcie i połączenie języka regularnego i nieregularnego


12

Niech będzie regularne, L 1 ∩ L 2 regularne, L 2 nie regularne. Pokaż, że L 1 ∪ L 2 nie jest regularne lub podaj kontrprzykład.L1L1∩L2L2L1∪L2

Próbowałem tego: spójrz na . Ten jest regularny. Mogę w tym celu zbudować automat skończony: L 1 jest regularny, L 2 ∩ L 1 jest regularny, więc usuń wszystkie ścieżki (ilość skończona) dla L 1 ∩ L 2 ze skończonej liczby ścieżek dla L 1 . Pozostało więc skończonych ścieżek do tego wszystkiego. Ta rzecz różni się od L 2 , ale jak mogę udowodnić, że związek L 1 ∖ ( LL1∖(L2∩L1)L1L2∩L1L1∩L2L1L2 (zwykły) i L 2 (nieregularny) nie jest regularny?L1∖(L1∩L2)L2


„więc usuń wszystkie ścieżki (ilość skończona) dla ze skończonej liczby ścieżek dla L 1 ” - co to ma znaczyć? Zwykłym sposobem skonstruowania automatu dla różnicy jest użycie A ∖ B = A ∩ ¯ B i dobrze znanych konstrukcji dla uzupełnienia i przecięcia. L1∩L2L1A∖B=A∩B¯
— Raphael

Wolę zmienić tytuł tego pytania. Sam tytuł pytania jest błędnym stwierdzeniem.
— nitishch,

Odpowiedzi:


19

Możemy to udowodnić przez sprzeczność. Pozwala zdefiniować . Następnie możemy przeformułować L 2 :L1¯=Σ∗∖L1L2

L2=((L1∪L2)∖L1)∪(L1∩L2)=((L1∪L2)∩L1¯)∪(L1∩L2)

Wiemy:

  • Zwykłe języki są zamknięte w ramach unii, skrzyżowania i uzupełnienia
  • L1¯L1∩L2
  • L2

L1∪L2((L1∪L2)∩L1¯)∪(L1∩L2)L2L1∪L2


Myślę, że rozumiem. Ale dlaczego uzupełnienie zwykłego języka jest regularne? Nie rozumiem tej części.
— Kevin

1
@Kevin Jest to dobrze znany lemat, więc powinieneś znaleźć dowód w dowolnym podręczniku. Jedną z metod dowodowych jest wzięcie automatu skończonego i zamiana stanów akceptujących i nieakceptujących: otrzymujesz automat rozpoznający język dopełniacza.
— Gilles 'SO - przestań być zły'

A={a,b}aL(M)={a}{a}

Dowód Gillesa działa tylko w przypadku deterministycznych automatów skończonych, co - dla zwykłych języków - nie jest ograniczeniem. Ale jak powiedział, ten lemat można znaleźć w dowolnym podręczniku.
— Mike B.

1
@Kevin: Mike oznacza, że ​​każdy zwykły język ma deterministyczny automat do rozpoznania go, więc zawsze możesz go używać.
— reinierpost

-4

L1={a,b}∗L2={anbn:n≥0}L1L2L1∪L2=L1


5
Nie udało Ci się spełnić warunku, że jest regularny. L1∩L2
— Andrej Bauer,
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.