Kleenesche und positive Hülle
# Kleenesche und positive Hülle

Die kleenesche Hülle (auch endlicher Abschluss, Kleene-*-Abschluss, Verkettungshülle oder Sternhülle genannt) eines Alphabets $\Sigma$ oder einer formalen Sprache $L$ ist die Menge aller Wörter, die durch beliebige Konkatenation (Verknüpfung) von Symbolen des Alphabets $\Sigma$ bzw. von Wörtern der Sprache $L$ gebildet werden können, wobei das leere Wort $\varepsilon$ 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 $\Sigma$ oder einer formalen Sprache $L$ die Menge aller Wörter, die aus den Symbolen von $\Sigma$ beziehungsweise aus Wörtern von $L$ 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 $\Sigma$ gleich $\Sigma ^{*}$ und einer Sprache $L$ gleich $L^{*}$. Demgegenüber ist der Operator der positiven Hülle das Pluszeichen $„^{+}“,$ sodass die positive Hülle eines Alphabets $\Sigma$ mit $\Sigma ^{+}$ und einer Sprache $L$ mit $L^{+}$ 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 $\Sigma ^{*}$ eines Alphabets $\Sigma$ 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 $\varepsilon$ in der kleeneschen Hülle enthalten ist, und im Induktionsschritt wird definiert, dass für jedes Wort $w$, das Element der kleeneschen Hülle ist, auch die Konkatenationen $w\circ a$ für alle Symbole $a\in \Sigma$ Elemente der Kleeneschen Hülle sind:

* Induktionsanfang: $\varepsilon \in \Sigma ^{*}$
* Induktionsschritt: $(w\in \Sigma ^{*})\land (a\in \Sigma )\Rightarrow w\circ a\in \Sigma ^{*}$

Die positive Hülle $\Sigma ^{+}$ eines Alphabets $\Sigma$ ist definiert als die kleenesche Hülle dieses Alphabets ohne das leere Wort:

    $\Sigma ^{+}:=\Sigma ^{*}\setminus \{\varepsilon \}$

Ausgehend von der kleeneschen Hülle lassen sich Teilmengen der Wörter mit fester Länge $n$ definieren.

    $\Sigma ^{n}:=\{w\mid w\in \Sigma ^{*}\land \left|w\right|=n\}$

Alternativ kann $\Sigma ^{n}$ als das $n$-fache kartesische Produkt des Alphabets definiert werden, also

    $\Sigma ^{n}=\prod _{i=1}^{n}\Sigma =\underbrace {\Sigma \times \dotsb \times \Sigma } _{n{\text{-mal}}}$ mit $\Sigma ^{0}=\{\varepsilon \}$.

Dann gilt:

    $\Sigma ^{*}=\bigcup _{i\in \mathbb {N} _{0}}\Sigma ^{i}$ und
    $\Sigma ^{+}=\bigcup _{i\in \mathbb {N} }\Sigma ^{i}$

### Hüllenoperator für Sprachen

Die kleenesche Hülle $L^{*}$ einer Sprache $L$ ist die Vereinigung all ihrer Potenzsprachen (wiederholte Konkatenation der Sprachen):

    $L^{*}:=\bigcup _{i\in \mathbb {N} _{0}}L^{i}$

Dabei gilt $L^{0}=\{\varepsilon \}$ und $L^{n+1}=L^{n}\circ L$.

Die positive Hülle $L^{+}$ einer Sprache $L$ ist ähnlich definiert, sie ist die Vereinigung aller Potenzen von $L$ größer gleich 1:

    $L^{+}:=\bigcup _{i\in \mathbb {N} }L^{i}$

## Beispiele

### Alphabete

Die kleenesche Hülle des Alphabets $\Sigma =\{a\}$ enthält das leere Wort $\varepsilon$, das Wort $\varepsilon \circ a=a$ und daher auch das Wort $a\circ a=aa$ und so weiter. Damit ist

    $\Sigma ^{*}=\{\varepsilon ,a,aa,\dotsc \}$.

Für das Alphabet $\Sigma =\{a,b\}$ gilt $\Sigma ^{2}=\{aa,ab,ba,bb\}$, $\Sigma ^{3}=\{aaa,aab,aba,abb,baa,bab,bba,bbb\}$ und so weiter. Damit ist

    $\Sigma ^{*}=\{\varepsilon ,a,b,aa,ab,ba,bb,aaa,aab,aba,\dotsc \}$.

### Sprachen

Die kleenesche Hülle der Sprache $L=\{aa,bb\}$ ist die Menge aller Wörter, die sich aus $aa$ und $bb$ zusammensetzen, sowie dem leeren Wort:

    $L^{*}=\{\varepsilon ,aa,bb,aaaa,aabb,bbbb,bbaa,bbaabb,aabbaa,\dotsc \}$

Die positive Hülle ist entsprechend:

    $L^{+}=\{aa,bb,aaaa,aabb,bbbb,bbaa,bbaabb,aabbaa,\dotsc \}$

Die kleenesche Hülle der leeren Sprache und der Sprache des leeren Wortes enthält nur das leere Wort:

    $\{\}^{*}=\{\varepsilon \}^{*}=\{\varepsilon \}$

Die positive Hülle der leeren Sprache ist leer, die der Sprache des leeren Wortes enthält nur das leere Wort:

    $\{\varepsilon \}^{+}=\{\varepsilon \}$

## 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 $\varepsilon$ 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:

    $L\notin \{\{\},\{\varepsilon \}\}\Rightarrow |L^{*}|=|\mathbb {N} |$
    $L\notin \{\{\},\{\varepsilon \}\}\Rightarrow |L^{+}|=|\mathbb {N} |$
* Wenn eine Sprache $L$ das leere Wort enthält, sind die kleenesche und die positive Hülle von $L$ identisch; die Umkehrung gilt ebenfalls:

    $\varepsilon \in L\Leftrightarrow L^{*}=L^{+}$

## Verallgemeinerungen

Die abzählbar unendlichen Folgen von Zeichen aus dem Alphabet $\Sigma$ werden mit $\Sigma ^{\omega }$ bezeichnet, siehe: $\omega$ = $\aleph _{0}$. $\Sigma ^{\infty }$ bezeichnet die gesamte Menge $\Sigma ^{\ast }\cup \Sigma ^{\omega }$ der endlichen Sequenzen und unendlichen Folgen von Zeichen aus $\Sigma$ .

