Formale Methoden I - Universität Bielefeld
Formale Methoden I - Universität Bielefeld
Formale Methoden I - Universität Bielefeld
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
62 10. Reguläre Sprachen<br />
Damit haben wir zum Beispiel<br />
(130)<br />
S (a(b|c) ∗ (ac|a))<br />
= S (a)(S (b|c)) ∗ S (ac|a)<br />
= {a}(S (b|c) ∗ )(S (ac)∪S (a))<br />
= {a}((S (b)∪S (c)) ∗ )({ac}∪{a})<br />
= {a}{b,c} ∗ {ac,a}<br />
= {a}{ε,b,c,bb,bc,cb,cc,···}{ac,a}<br />
= {a,ab,ac,abb,abc,acb,acc,···}{ac,a}<br />
= {aac,abac,acac,abbac,abcac,<br />
acbac,accac,···,<br />
aa,aba,aca,abbac,abca,acba,<br />
acca,···}<br />
Definition 10.6 (Reguläre Sprache) Eine Sprache L ist regulär, falls ein regulärer<br />
Term r existiert mit L=S (r).<br />
Satz 10.7 Die folgenden sind reguläre Sprachen:<br />
➀ Die Ein-Wort Sprache{⃗x}.<br />
➁ L∪ M, wenn L und M regulär sind.<br />
➂ Jede endliche Sprache.<br />
➃ A ∗ − L, wenn L regulär ist.<br />
➄ L∩ M, wenn L und M regulär sind.<br />
Daraus folgt, dass zum Beispiel auch die Sprache A ∗ −{⃗x} (“alles außer⃗x”) auch<br />
regulär ist. Wir beginnen mit der ersten Behauptung, ➀. Diese beweisen wir durch<br />
Induktion über die Länge n von⃗x. Ist n=0, so ist{⃗x}={ε}=S (ε), also regulär.<br />
Ist n>0, so ist⃗x=a·⃗y, also{⃗x}={a}·{⃗y}. Nach Induktionsannahme ist{⃗y}=S (r)<br />
für einen regulären Ausdruck r. Dann ist{⃗x}=S (ε·r).<br />
➁ ist leicht. Ist L=S (r) und M= S (s), so ist L∪ M= S (r∪ s). Nun zu ➂.<br />
Auch dies zeigen wir durch Induktion, diesmal über die Mächtigkeit n von L. Ist<br />
n=0, so ist L=∅=S (0), also regulär. Ist n>0, so ist L={⃗x}∪ M, wobei<br />
|M|=n−1. Nach Induktionsannahme ist M= S (r) für ein reguläres r; nach ➀ ist<br />
{⃗x}=S (s) für ein reguläres s. Dann ist L=S (r∪ s).<br />
Den Beweis der vierten Behauptung werde ich später (genauer in der nächsten<br />
Vorlesung) erbringen. Die fünfte folgt aus der vierten so: es sei A genügend groß,