Snitt av reguljära språk
Låt L1, L2 vara två reguljära språk. Vi bevisar att deras snitt L = L1 ∩ L2 också är ett reguljärt språk.
Idén bakom beviset
Vi har två reguljära språk L1 och L2 och vill bevisa att deras snitt L1 ∩ L2 också är ett reguljärt språk. Eftersom L1 och L2 är reguljära språk finns det ändliga automater A1 och A2 som accepterar språken L1 och L2, alltså gäller L(A1) = L1 och L(A2) = L2. Vi konstruerar sedan en ändlig automat A som accepterar språket L1 ∩ L2, och därmed har vi bevisat att språket L1 ∩ L2 är reguljärt.
Ett ord tillhör snittet av språken om det tillhör både språket L1 och språket L2. Ordet måste alltså accepteras av automaten A1 och samtidigt av automaten A2. Vi använder precis samma idé som vid union av reguljära språk, men ändrar bara mängden av sluttillstånd.
Formalisering av metoden
Vi har två automater,
Vi konstruerar en automat A = ⟨Q, Σ, δ, q, F⟩ som accepterar språket L(A1) ∩ L(A2). Det gäller att
- Q = Q1 × Q2
- Σ= Σ1 ∩ Σ2
- q = ⟨q0, p0⟩
- F = F1 × F2
För övergångsfunktionen δ gäller följande samband:
Exempel
Låt oss ta den här automaten A1, som accepterar alla ord som innehåller ett jämnt antal ettor:
och automaten A2, som accepterar ord som innehåller ett udda antal nollor:
Vi konstruerar en automat som accepterar snittet av dessa språk. Tillståndsmängden i automaten har formen Q = Q1 × Q2, starttillståndet är tillståndet ⟨q0, p0⟩ och sluttillstånden är F1 × F2:
Sedan skapar vi övergångarna så att δ(⟨q,p⟩, a) = ⟨δ1(q, a), δ2(p, a)⟩:
I den här automaten går det till exempel från tillståndet ⟨q0, p0⟩ en övergång för symbolen 0 till tillståndet ⟨q0,p1⟩. Det betyder att automaten A1 har en övergång för symbolen 0 från tillståndet q0 tillbaka till q0. Automaten A2 har i sin tur en övergång för symbolen 0 från tillståndet p0 till tillståndet p1.
Vi kan pröva automaten. Den ska acceptera ord som 110 eller 00000 (de innehåller ett jämnt antal ettor och samtidigt ett udda antal nollor), men inte ord som 11, 111, 1010.
Källor
Kapitel: Slutenhet hos reguljära språk, Union av reguljära språk, Snitt av reguljära språk, Differens av reguljära språk, Komplement till ett reguljärt språk, Konkatenering av reguljära språk, Kleenestjärnan av ett reguljärt språk