Clover ash and positive shell

from Wikipedia, the free encyclopedia

The clover ash shell (also finite conclusion , Kleene - * - Final , concatenation envelope or stellar envelope called) of an alphabet or a formal language is the amount of all the words that by any concatenation (linking) of symbols of the alphabet and words of the language are formed can, including the empty word . It is named after the American mathematician and logician Stephen Cole Kleene . In contrast, the positive envelope (also called Kleene - + - closure ) of an alphabet or a formal language is the set of all words that can be formed from the symbols of or from words of and that only contains the empty word if the positive envelope is applied to a language which itself contains the empty word as an element.

The operator of the Kleene shell is the Kleene star " ". Thus, the representation of the clover eschen shell is an alphabet equal and a language equal . In contrast, the operator of the positive envelope is the plus sign " ", so that the positive envelope of an alphabet is represented with and a language with .

Based on the Kleene - * operator in languages, the * operator in regular expressions is also called the Kleene - * operator. The number of nested Kleene - * operators determines the star height of a regular expression.

definition

Shell operator for alphabets

The clover's shell of an alphabet is a language that contains all the words above the alphabet. It can be defined with the help of structural induction . In the induction beginning, one first defines that the empty word is contained in the Kleene envelope, and in the induction step it is defined that for each word that is an element of the Kleene envelope, the concatenations for all symbols are also elements of the Kleene envelope:

  • Induction start:
  • Induction step:

The positive envelope of an alphabet is defined as the Kleenian envelope of this alphabet without the empty word:

Starting from the Kleen's shell, subsets of the words with fixed length can be defined.

Alternatively, it can be defined as the -fold Cartesian product of the alphabet, i.e.

with .

Then:

and

Shell operator for languages

The Kleenian shell of a language is the union of all its power languages (repeated concatenation of languages):

Where and .

The positive envelope of a language is defined similarly, it is the union of all powers greater than or equal to 1:

Examples

Alphabets

The clover's shell of the alphabet contains the empty word , the word and therefore the word and so on. So is

.

For the alphabet is true , and so on. So is

.

languages

The Kleenian shell of language is the set of all words that are made up of and , as well as the empty word:

The positive envelope is accordingly:

The Kleenian shell of the empty language and the language of the empty word contains only the empty word:

The positive envelope of the empty language is empty, that of the language of the empty word contains only the empty word:

features

  • The Kleene envelope and the positive envelope (if the latter contains the empty word) are each the carrier set of the monoid with the concatenation of words as the operator and the empty word as the neutral element . So the Kleen's shell forms the free monoid over an alphabet. The Kleenesche shell as well as the positive shell are thus also closed against the concatenation.
  • The Kleenesche and the positive envelope are countably infinite for all languages ​​that contain at least one non-empty word :
  • If a language contains the empty word, the Kleenesche and the positive envelope of are identical; the reverse is also true:

Generalizations

The countably infinite sequences of characters from the alphabet are denoted by, see: = . denotes the entire set of finite sequences and infinite sequences of characters  .

literature

  • John E. Hopcroft , Jeffrey D. Ullman : Introduction to Automata Theory, Formal Languages, and Complexity Theory. 3rd corrected edition. Addison-Wesley, Bonn et al. 1994, ISBN 3-89319-744-3 .
  • Katrin Erk, Lutz Priese: Theoretical Computer Science. A comprehensive introduction . 2nd expanded edition. Springer-Verlag, Berlin et al. 2002, ISBN 3-540-42624-8 , pp. 27-29 .