Formal language

A formal language is an abstract language, in which not the communication is in contrast to specific languages ​​in the foreground, but the mathematical use. For example, the programming languages ​​are formal languages. A formal language consists of a certain set of strings that can be composed of a character set. Find application in formal languages ​​of linguistics, logic and theoretical computer science.

Formal languages ​​are useful for mathematically precise description of dealing with strings. Thus, for example, data formats, or all languages ​​may be specified. Along with a formal semantics preserve the defined strings a mathematical meaning. In a programming language can thus be assigned ( as part of the semantics ) (as part of the formal language ) a unique machine behavior of a program statement.

Building on formal languages ​​but can also be defined logic calculi with which one can draw mathematical conclusions. In connection with formally defined programming calculi can help you to check programs for correctness.

  • 6.1 quote

Definition

A formal language over an alphabet is a subset of the clover ash shell of the alphabet.

The alphabet from a given par formable words are all words of finite length ( 0 or greater ) each individual letter of element is. This maximum amount of words to the alphabet is called the Kleene hull of the alphabet, formal short. A formal language over an alphabet is therefore mathematically a certain subset of clover ash shell of their alphabet.

Formal languages ​​can be empty, finite or infinite be, at most, they can cover the entire Kleene cover their alphabet. They can be defined by a mathematical condition on their words: "The language ... is the set of all words, applies to the ... ".

The languages ​​that occur in theoretical computer science, however, are mostly special defined by a particular substitution process, of which there are several types: semi-Thue systems, Chomsky grammars, Lindenmayer systems, etc. With such substitution approach starts from for example from a specific start character string that is converted by recursive application of a specific type of text substitutions gradually word formations, then a certain portion of them are considered as words generated from the production process language. One speaks here also of generative grammars, because the words of a language are created gradually over such text substitutions. Conversely, one can also define languages ​​as the set of all words from which a given word or a plurality of predetermined words are generated.

Delineation of natural languages

With the help of formal languages ​​and natural languages ​​can be modeled, especially their syntax. A comparison of formal languages ​​with natural languages ​​, however, to note that natural languages ​​above the elementary phonetic characters have at least two superposed levels of the hierarchy of the word and the sentence. The rules for the structure of which is separated usually in morphology on the one hand and in syntax to the other. In formal languages ​​, however, is above the elementary alphabet characters often only one level in the hierarchy of formal word, you are talking in terms of the construction of the words of formal language syntax. When a natural language is modeled by means of a formal, then so the sentences of natural language are called in formal linguistic viewing words.

In addition, utterances have a natural importance, while the importance of formal languages ​​must always be defined to also formal learning in natural language.

Examples

Operations on formal languages

Two languages ​​over the alphabet and the alphabet are banal enough, both languages ​​also, ie sets of words from. Therefore, also

  • The union
  • The average
  • The difference

Were talking about.

Further operations on languages ​​are:

Concatenation

The concatenation of two languages ​​and is the language of words that by cascading case ( concatenation ) for each of any word u and v from arises:

For example, are the concatenations of different languages ​​over the alphabet:

The neutral element of concatenation is the language containing only the empty word. So is true for any language:

The absorbent member of the concatenation is the empty language, so is true for each language:

The concatenation of languages ​​as the concatenation of words associative, but not commutative. Thus, for example:

But:

Furthermore, since the power set of clover ash shell of an arbitrary alphabet (which is equal to the set of all languages ​​that can be formed from ) is closed under concatenation, it forms together with the concatenation as an operator and the language of the empty word as a neutral element a monoids.

Potency

The power of a language is the -fold concatenation of this language with yourself It is defined recursively by:

Thus, for example:

In particular, applies to any single-element, formal language ( with ) and each:

Kleene -* statements and Kleene 's degree

The Kleene * - type (also called iteration ) and the Kleene - - completion of a formal language are defined by the union of the languages ​​of power:

See also: Kleene Case

Important formal language classes

Historical

As one of the first formal languages ​​Gottlob Frege's Begriffsschrift is considered a like Frege wrote " formula language of pure thought ." Axel Thue introduced in 1914 semi-Thue system that can be used to transform strings, also had an influence on the development of formal grammars.

Quote

Today's basic research is dominated

" [ ... ] The spirit of mathematics. [ ... ] It is characterized by mathematized to the utmost limits of what can be achieved on the basis of a far advanced Formalisierungstechnik today. The aim of this research is a fairly high level objective. It is the mastery of the largest possible number of deep-seated problems as possible in the field of fundamental research with a kind of precision that can be described as, accuracy in the smallest parts '. [ ... ] The desired accuracy can be achieved as in mathematics only through creation of accuracy languages ​​, the desired accuracy in the smallest parts only through creation of accuracy languages ​​whose degree of accuracy the degree of accuracy and the most advanced mathematical precision language of the present age, the language of set theory and the language of modern algebra considerably exceeds them. [ ... ] Such precision language is a formal scientific language. [ ... ] An armor, its performance can be compared with the resolution of an electron microscope. [ ... ] Leibniz was the first, has called for the accuracy languages ​​of this degree of accuracy. "

Heinrich Scholz met in 1944 with Konrad Zuse, who worked on his plan calculus in the course of his doctoral thesis. In March 1945 he Scholz expressed his appreciation for the application of his logic calculus.

342346
de