L | M
Transkrypt
L | M
Działania na językach 1. Suma: n def L|M = o w w ∈ L lub w ∈ M 2. Złączenie: L M def = n uv u ∈ L i v ∈ M o 3. Iteracja (domknięcie Kleenego): L∗ def = n o i n 0 u , u , . . . , u ∈ L u1 u2 . . . un 1 2 n Wykład 7.5, str. 2 Działania na językach Przykład: (suma) L | M def = w w ∈ L lub w ∈ M M {nie, chce, mi} | {się, uczyć} = {nie, chce, mi, się, uczyć} {λ, a, a2 , a3 , . . .} | {λ, b, b2 , b3 , . . .} = {λ, a, b, a2 , b2 , a3 , b3 , . . .} Działania na językach L | M def = Przykład: (suma) M L: hliczbai ::= M: hidenti ::= L | M: w w ∈ L lub w ∈ M hcyfrai hliczbai hcyfrai hliterai hidenti hliterai hidenti hcyfrai hliczbo-identi ::= hliczbai ::= hidenti ::= hliczbai hidenti hcyfrai hliczbai hcyfrai hliterai hidenti hliterai hidenti hcyfrai Wykład 7.5, str. 4 Działania na językach L | M def = Przykład: (suma) M w w ∈ L lub w ∈ M ✲ ✲ automat dla L automat dla M au dl tom a M at ✲ at m to L au dla automat dla L | M Działania na językach Przykład: (złączenie) M L M def = uv u ∈ L i v ∈ M {czerwony, zielony} {dom, kapelusz, rower} = ( ) czerwony dom, czerwony kapelusz, czerwony rower, zielony dom, zielony kapelusz, zielony rower {λ, a, a2 , a3 , . . .} {λ, b, b2 , b3 , . . .} = {λ, a, b, aa, ab, bb, aaa, aab, abb, bbb, . . .} Wykład 7.5, str. 6 Działania na językach Przykład: (złączenie) M L: L M def = uv u ∈ L i v ∈ M hwyrazi ::= M: hliterai hwyrazi hliterai hliczbai ::= L M: hcyfrai hliczbai hcyfrai hwyrazo-liczbai ::= hwyrazi hliczbai hwyrazi ::= hliterai hwyrazi hliterai hliczbai ::= hcyfrai hliczbai hcyfrai Działania na językach Przykład: (złączenie) M L M def = uv u ∈ L i v ∈ M ✲ automat dla L automat dla M ... ✲ automat dla L M : automat dla L ... automat automat dla M dla M ... automat dla M Wykład 7.5, str. 8 Działania na językach Własności działań: • Łączność: K | (L | M ) = (K | L) | M K(LM ) = (KL)M • Przemienność: L|M =M |L Uwaga: złączenie nie jest przemienne! • Elementy neutralne: M |∅=M ΛM = M Λ = M ∅ def = {} — język pusty Λ def = {λ} — język zawierający tylko słowo puste • Rozdzielność: K(L | M ) = KL | KM (L | M )K = LK | M K Działania na językach Iteracja: L∗ def = u1 u2 . . . u n u1 , u2 , . . . , u n ∈ L i n 0 L∗ = Λ | L | L2 | L3 | . . . = {λ} | L | LL | LLL | . . . TWIERDZENIE: (rozwiązywanie równania językowego) M Rozwiązaniem równania X = L | XM jest X = LM ∗ . Dowód: Jeśli X = LM ∗ to X = LM ∗ = L (Λ | M | M 2 | M 3 | . . .) = LΛ | LM | LM 2 | LM 3 | . . . = L | (LM | LM 2 | LM 3 | . . .) = L | L (Λ | M | M 2 | . . .) M = L | LM ∗M = L | XM