Un langage est un ensemble de mots qui peut être défini :
Une phrase ambigue
phrase à laquelle on peut attribuer plusieurs sens (en informatique, on parle de conflit).
Une interprétation d'une phrase ambigue
sens que l'on attribue à cette phrase. (exemple: 2 + 3 × 4 peut se calculer différemment en fonction des règles de calcul)
Les définitions inductives (recursive definitions)
idée: on procède en 3 étapes
On n'exige pas que la base soit minimale
Souvent on donne une définition inductive sous la forme base + règles
Exemple: Définissons l'ensemble PAIR des entiers pairs positifs:
Principe pour décrire les langages par une grammaire (procédé formel de construction inductive du langage sous la forme d'un axiome (la base) et d'un ensemble de règles de production.
Définition
Un alphabet Σ est un ensemble fini de smyboles.
exemple: Σ = {a, b}
Définition
Un mot (appelé aussi chaine) X sur Σ est une suite finie de symboles de Σ juxtaposés.
Longueur
Nombre de symboles de l'alphabet composant le mot.
- notée |X|
- |X|a dénote le nombre d'occurences de la lettre a dans le mot X
- exemple: Σ = {a, b}, X = aabbaa est un mot sur Σ; |X|=5, et |X|a = 4
mot vide
Le mot vide ne contenant aucun symbole est noté ϵ, |ϵ|=0
- ϵ peut être un mot d'un langage, mais n'est pas une lettre de l'alphabet
Concaténation
Concaténation: soit X et Y deux mots de Σ. On appelle concaténation de X et de Y, le mot XY
- Notation: X.Y ou XY
- C'est une loi de formation de mots associative, non commutative, et qui admet ϵ comme élèment neutre: Xϵ = ϵX = X
- Forme condensée de la concaténation (puissance): Xn = XXXX... n fois, X0 = ϵ
Préfixe
Tout mot f (mot vide inclus) qui permet d'écrire X = fg
Suffixe
Tout mot g (mot vide inclus) qui permet d'écrire X = fg
Préfixe/Suffixe propre
U est un préfixe/suffixe propre de X ssi U est préfixe/suffixe de X et U est différent de X - remarque: X est préfixe ou suffixe de lui-même
Facteur/sous-mot
Un facteur, ou sous-mot est tout mot g qui permet d'écrire X = fgh, avec f et h non vides.
Fermeture de Kleen
Soit Σ un alphabet, on appelle fermeture de Kleen de Σ, noté Σ*. L'ensemble est défini inductivement de la façon suivante :
- base: tous les symboles de Σ ainsi que le mot vide sont dans Σ*
- règle: si x et y sont dans Σ*, alors xy est dans Σ*
Σ* est l'ensemble des mots sur Σ, de longueur finie, plus le mot vide.- on note Σ+ = Σ* \ ϵ
Soit L et M, deux langages, et l'alphabet Σ = a, b.
Exercice:
Ensemble muni d'une opération interne associative et d'un élément neutre.
exemple: Σ muni de concaténation
L+ est la fermeture positive de L = L* − {ϵ}
Type 3 ⊂ Type 2 ⊂ Type 1 ⊂ Type0