Aller au contenu Aller au menu Politique d'accessibilité

Free Sciences Site sur les mathématiques, la physique et l'informatique.

Le langage formel

Nous avons vu sur l'exemple du paradoxe du menteur que la notion de langage est importante pour comprendre la notion de vérité. Nous allons donc tenter de formaliser le mieux possible cette notion.

Langage formel et langage naturel

Un langage naturel est tout simplement définit comme étant un langage utilisé dans la vie de tout les jours, comme par exemple, le français. Comme nous l'avons vu, les langages naturels sont sémantiquement clos, donc inconsistants. En plus de cet inconvénient majeur, les langages naturels ont deux inconvénients pratiques quand on les utilise en mathématique:

  1. la complexité des phrases qui rend les choses plus compliquées, il faut parfois plusieurs lignes et une phrase complètement incompréhensible, pour dire quelque chose qui peut se résumer par une expression mathématique bien plus simple et courte,
  2. le fait que les ambiguïtés du langage courant peuvent conduire à des erreurs de raisonnement.

Ces inconvénients nous poussent à définir des langages ayant des règles très strictes tout en étant le plus facile à lire possible, ce sont des langages formels. Bien on demandera à ces langages formels d'être des langages sémantiquement ouverts.

Définir la notion de langage

En faisant l'analogie avec les langages naturels, on voit qu'un langage se compose de deux éléments différents. D'une part, nous avons un alphabet propre à un langage. Que se soit pour les langages formels ou naturels, le concept d'alphabet est identique, à savoir qu'un alphabet est tout simplement un ensemble de symboles que nous allons utiliser pour construire les mots du langage. Un mot est simplement une suite ordonnée de symboles de l'alphabet.

On peut construire n'importe quel mot en inventant une suite quelconque de lettres de l'alphabet, mais tout les mots possibles ne font pas partie du langage. Par exemple, l'expression «hgjhytjh» est bien une suite des lettres de l'alphabet latin, mais ne fait pas partie de la langue française. Il faut au langage un autre élément, qu'on appelle une syntaxe, qui est un ensemble de règles qui définissent quels mots appartiennent au langage.

Nous pouvons donc définir de façon précise la notion de langage formel, par une série de définitions:

Définition 1.

Un alphabet est un ensemble non vide d'élement appelés symboles.

Définition 2.

Un mot d'un alphabet est une suite ordonnée et finie de symboles de l'alphabet.

Définition 3.

Soit un alphabet, un ensemble fini de mots de l'alphabet est appelé un langage formel.

Ainsi, un langage formel est un sous ensemble de l'ensemble des mots de l'alphabet. Si on se donne une série de règles auxquelles obéissent les mots du langages et seulement ceux-ci, ces règles sont appelé la syntaxe du langage.

Construisons un exemple

On peut donner un exemple pour y voir plus clair et définir un langage formel simple: on va prendre un alphabet et une syntaxe quelconque, ne voyez aucune logique particulière dans le choix que l'on va faire.

L'alphabet du langage est l'ensemble contenant les éléments suivants: A,B,C,+,=.

Et la syntaxe sera composés des règles suivantes:

  1. aucun mot du langage ne peut commencer ou terminer par =,
  2. aucun mot du langage ne peut commencer ou terminer par +,
  3. dans un mot du langage, on a un et un seul symbole «=»,
  4. dans un mot du langage, un symbole sur deux est une lettre.

On a donc définit un langage formel simple. Les mots de ce langage ressemblent à des équations mathématiques, par exemple, A+B+C=A+C est un mot possible. En effet, le premier et le dernier symbole ne sont ni «=» ni «+», on a un seul symbole «=», et un symbole sur deux est bien une lettre.

On se rend compte aussi que certains agencement de symboles ne sont pas des mots du langage: par exemple, =+A++BC ne l'est pas.