Die kleenesche Hülle (auch endlicher Abschluss, Kleene-*-Abschluss, Verkettungshülle oder Sternhülle genannt) eines Alphabets oder einer formalen Sprache ist die Menge aller Wörter, die durch beliebige Konkatenation (Verknüpfung) von Symbolen des Alphabets bzw. von Wörtern der Sprache gebildet werden können, wobei das leere Wort inbegriffen ist. Sie ist nach dem US-amerikanischen Mathematiker und Logiker Stephen Cole Kleene benannt. Demgegenüber ist die positive Hülle (auch Kleene-+-Abschluss genannt) eines Alphabets oder einer formalen Sprache die Menge aller Wörter, die aus den Symbolen von beziehungsweise aus Wörtern von gebildet werden können und die nur dann das leere Wort enthält, wenn die positive Hülle auf eine Sprache angewandt wird, die selbst das leere Wort als Element enthält.
Der Operator der kleeneschen Hülle ist der Kleene-Stern „“. So ist die Darstellung der kleeneschen Hülle eines Alphabets gleich und einer Sprache gleich . Demgegenüber ist der Operator der positiven Hülle das Pluszeichen „“, sodass die positive Hülle eines Alphabets mit und einer Sprache mit dargestellt wird.
In Anlehnung an den Kleene-*-Operator über Sprachen wird der *-Operator bei regulären Ausdrücken ebenfalls Kleene-*-Operator genannt. Die Anzahl verschachtelter Kleene-*-Operatoren bestimmt die Sternhöhe eines regulären Ausdrucks.
Definition
Hüllenoperator für Alphabete
Die kleenesche Hülle eines Alphabets ist eine Sprache, die alle Wörter über dem Alphabet enthält. Sie lässt sich mit Hilfe der strukturellen Induktion definieren. Im Induktionsanfang definiert man zunächst, dass das leere Wort in der kleeneschen Hülle enthalten ist, und im Induktionsschritt wird definiert, dass für jedes Wort , das Element der kleeneschen Hülle ist, auch die Konkatenationen für alle Symbole Elemente der Kleeneschen Hülle sind:
- Induktionsanfang:
- Induktionsschritt:
Die positive Hülle eines Alphabets ist definiert als die kleenesche Hülle dieses Alphabets ohne das leere Wort:
Ausgehend von der kleeneschen Hülle lassen sich Teilmengen der Wörter mit fester Länge definieren.
Alternativ kann als das -fache kartesische Produkt des Alphabets definiert werden, also
- mit .
Dann gilt:
- und
Hüllenoperator für Sprachen
Die kleenesche Hülle einer Sprache ist die Vereinigung all ihrer Potenzsprachen (wiederholte Konkatenation der Sprachen):
Dabei gilt und .
Die positive Hülle einer Sprache ist ähnlich definiert, sie ist die Vereinigung aller Potenzen von größer gleich 1:
Beispiele
Alphabete
Die kleenesche Hülle des Alphabets enthält das leere Wort , das Wort und daher auch das Wort und so weiter. Damit ist
- .
Für das Alphabet gilt , und so weiter. Damit ist
- .
Sprachen
Die kleenesche Hülle der Sprache ist die Menge aller Wörter, die sich aus und zusammensetzen, sowie dem leeren Wort:
Die positive Hülle ist entsprechend:
Die kleenesche Hülle der leeren Sprache und der Sprache des leeren Wortes enthält nur das leere Wort:
Die positive Hülle der leeren Sprache ist leer, die der Sprache des leeren Wortes enthält nur das leere Wort:
Merkmale
- Die kleenesche Hülle und die positive Hülle (falls letztere das leere Wort enthält) sind jeweils die Trägermenge des Monoids mit der Konkatenation von Wörtern als Operator und dem leeren Wort als neutralem Element. So bildet die kleenesche Hülle den freien Monoid über ein Alphabet. Die kleenesche Hülle sowie die positive Hülle sind damit ebenfalls abgeschlossen gegen die Konkatenation.
- Die kleenesche und die positive Hülle sind für alle Sprachen, die mindestens ein nicht-leeres Wort enthalten, abzählbar unendlich:
- Wenn eine Sprache das leere Wort enthält, sind die kleenesche und die positive Hülle von identisch; die Umkehrung gilt ebenfalls:
Verallgemeinerungen
Die abzählbar unendlichen Folgen von Zeichen aus dem Alphabet werden mit bezeichnet, siehe: = .
bezeichnet die gesamte Menge der endlichen Sequenzen und unendlichen Folgen von Zeichen aus .
Literatur
- John E. Hopcroft, Jeffrey D. Ullman: Einführung in die Automatentheorie, formale Sprachen und Komplexitätstheorie. 3. korrigierte Auflage. Addison-Wesley, Bonn u. a. 1994, ISBN 3-89319-744-3.
- Katrin Erk, Lutz Priese: Theoretische Informatik. Eine umfassende Einführung. 2. erweiterte Auflage. Springer-Verlag, Berlin u. a. 2002, ISBN 3-540-42624-8, S. 27–29.