In many contexts (scientist, legal, etc) one indicates by formal language a mode of expression more formalized and more precis (both not going hand in hand necessarily) only the language of the every day (see natural Language).

In Mathematical, Logical and Data-processing, a formal language is formed:

  • of a Together of words obeying strict logical rules (known as formal Grammar or syntax).
  • of a Semantic subjacent.

The force of the formal languages is to be able to make Abstraction semantics, which makes the theories reusable in several models. Thus, whereas a particular calculation of pay or opposite matrix remains always a calculation of pay or opposite matrix, a theorem on the group S will as well apply to the whole of the whole as to the transformations of the Cube of Rubik.

The formal language, work tools

The formal language of a scientific discipline is a language obeying a strict Syntaxe formal, being used to expose statements in a precise, if possible concise way and without ambiguity; what opposes it to the natural language.

Formal language against natural language

The formal language has the advantage of making easy the handling and the transformation of statements. Precise rules of transformation (development of logical formulas, normal forms, contrapositions, Commutation, Associativeness, etc) can be applied without same knowing the significance of the transformed statement or the significance of the transformation. It is a powerful tool for exploration, and it is the only language which makes it possible the machines “to make mathematics”.

The disadvantage is obvious: not to know the direction of the statement prevents from knowing which are the relevant transformations and harms the intuition of the reasoning. Thus, it is good to know to read a statement in formal language quickly and to also quickly translate it into one or more statements of the natural language, more significant.

Comprehension using computers

With the beginning of data processing the researchers developed tools of assistance with the translation of the languages, in order to pass from the external format to the internal format of the computer. The most known tools are Lex and Yacc. Other researchers defined the Sémantique computer programming languages.

In the history of mathematics and sciences

Before the XXe century

Mathematics exists since the Antiquité but the manner of expressing them enormously evolved/moved.

As for any discipline, the language of the discipline does not preexist obviously to the discipline itself. It was thus necessary to use languages which were not built for mathematics, which little by little grew rich by a specific jargon.

Thus, many old mathematical statements appear to us today to have a rather alambiquée formulation, overloaded periphrases when there do not exist words to indicate certain concepts.

The jargon thus grew rich during the centuries and still continues to evolve/move.

Parallel to this phenomenon, was gradually formed the formal language which became that we know, natural jargon being shown neither enough rather concise precis nor.

At the XXe century

At the beginning of the 20th century, the mathematician David Hilbert, and with him, the formal thought of being able to unify mathematics thanks to a general axiomatization and with the use of a common formal language.

This vision of mathematics was put at evil in 1931 when the logician Kurt Gödel announced his famous theorem of incomplétude which stipulates that in any formal system containing the Arithmétique, there exists at least a proposal Indécidable.

To return to the formal languages, the consequence of this theorem is the following one: being given a formal language, his Axiom S, and his system of deduction formal able to express the arithmetic one, one can state a proposal for this language which cannot be proven in this system, like his negation. One will formalize mathematics in vain, one will always find a statement formal whose Démonstration obliges to leave or widen this formalism by adding new axioms, which will introduce new statements indécidables inevitably. Thus the formal approach, which however remains valid, has from now on known limits.

In second half of the XXe century, the advent of the computers and data processing gave a place particular to the formal languages as tools and objects of study, which was relatively new.

Today (beginning of the 21e century)

The treaties of mathematics use at the same time formal language and natural language. The formal language is reserved in the technical passing and the sufficiently simple statements not to require full explanations, and the important results are often clarified at the same time in formal and natural language.

The contemporary mathematical formal language is described in this article.

Formal languages, object of study

The formal languages are also the object of study of a branch with whole share of logic and theoretical data processing. This study is strongly related to the theory of the Calculabilité. Indeed the characteristic of a formal language, as a language, it is of being able to be treated by a Ordinateur, or its formal model: the Machine of Turing.

Definitions

As an object of study, a formal language is defined like a whole of words finite length (i.e. character strings) deduced from some Alphabet finished, i.e. part of the free Monoïde on this alphabet.

Typically, an alphabet would be: { has , B }, and a word on this alphabet would be: ababba .

A typical language on this alphabet, and which would contain this word, would be the whole of all the words which contain the same number of symbols has and B .

The word empties (the word null length) is authorized and noted ε. Although the alphabet is a finished unit and that each word has a finite length, a language can contain an infinity of words very well (because the length of its words can not be limited).

Examples

Some examples of formal languages:

Construction of a formal language

A formal language can be specified by various means, like:
  • words produced by rules of production also said rules of a formal Grammar (see Classification of the languages),
  • words generated by a rational Expression,
  • words accepted by some automat, like a Machine of Turing or a automat of finished states,
  • the whole of the authorities of a Problem of decision whose answer is YES,
  • results of Inférence S.

Several operations can be used to manufacture new languages from those which one knows. Let us suppose that L 1 and L 2 is languages on a certain common alphabet.

  • the Concatenation of L 1 and L 2 is the whole of the words of the form VW where v is a word of L 1 and W is a word of L 2. Notation: L_1 \ cdot L_2 or L_1 L_2.
  • the intersection of L 1 and L 2 is the whole of the words which are at the same time in L 1 and L 2. Notation: L_1 \ course L_2.
  • the union of L 1 and L 2 is the whole of the words which are either in L 1, or in L 2. Notation: L_1 \ cup L_2 or L_1 + L_2.
  • the complementary of a language L 1 is the whole of the words on its alphabet which are not contained in L 1.
  • the quotient on the right of L 1 and L 2 is the whole of the words v for which there exists a word W of L 2 such as VW belongs to L 1. Notation: L_1/L_2.
  • the Fermeture of Kleene of L 1 is the whole of the words which can be written w_1 w_2 \ dowries w_n with w_1, w_2, \ dowries w_n \ in L_1 and n \ Ge 0. This unit contains the word empties ε because N = 0 is authorized. Notation: L_1^ \ star.
  • the reversed of L 1 contains the words of L 1 written with back. Notation: {L_1}^R.
  • the mixed of L 1 and L 2 is the whole of the words which can be written v_1 w_1 v_2 w_2 \ dowries v_n w_n where n \ Ge 1, v_1 v_2 \ dowries v_n is a word of L 1 and w_1 w_2 \ dowries w_n is a word of L 2.

Membership, calculability and complexity

Typical questions that one is posed in connection with a formal language are the following ones:
  • can one decide by algorithm if a given word belongs to this language? is
  • If so, which the algorithmic complexity of such an answer?

These questions come under the fields of the theory of the calculability and the Théorie of complexity.

See too

Simple: Formal language

Random links:The Congos | Serenades | Sita Buzăului | 1 documented

© 2007-2008 speedlook.com; article text available under the terms of GFDL, from fr.wikipedia.org