introduction aux langages formels

92
Chapitre 1 : Introduction aux langages formels Prof. A. Dargham Facult´ e des Sciences, Oujda Fili` ere SMI- S4 Universit´ e Mohamed Premier Septembre, 2012

Upload: dargham-abdelmajid

Post on 23-Jun-2015

398 views

Category:

Education


0 download

DESCRIPTION

Ce chapitre est une introduction aux langages formels. Il aborde les notions de mots, alphabets, langages, opérations sur les mots et opérations sur les langages.

TRANSCRIPT

Page 1: Introduction aux langages formels

Chapitre 1 :

Introduction aux langages formels

Prof. A. DarghamFaculte des Sciences, Oujda

Filiere SMI- S4

Universite Mohamed Premier

Septembre, 2012

Page 2: Introduction aux langages formels

Sommaire du chapitre 1

Alphabets, mots et langages

Operations sur les mots

Monoıdes

Operations sur les langages

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 3: Introduction aux langages formels

Alphabets, mots et langages

Aphabets

Definition 1.1

Un alphabet est un ensemble fini de symboles (ou lettres).

Exemples 1.2

A = {0, 1}A = {a, b, c , ..., x , y , z}A = {if , else, a, b}A = {←, →, ↑, ↓}

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 4: Introduction aux langages formels

Alphabets, mots et langages

Mots

Definition 1.3

Un mot sur l’alphabet A est une suite finie et ordonnee,eventuellement vide, d’elements de l’alphabet.

C’est une concatenation de symboles.

Exemples 1.4

A = {0, 1}. 10001 et 11 sont deux mots sur A.

A = {a, b, c , ..., x , y , z}. ”smi” et ”tlc” sont deuxmots sur A.

A = {if , else, a, b}. if a else b est un mot sur A.

A = {←, →, ↑, ↓}. ←←→↓↑← est un mot sur A.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 5: Introduction aux langages formels

Alphabets, mots et langages

Mots

Definition 1.3

Un mot sur l’alphabet A est une suite finie et ordonnee,eventuellement vide, d’elements de l’alphabet.

C’est une concatenation de symboles.

Exemples 1.4

A = {0, 1}. 10001 et 11 sont deux mots sur A.

A = {a, b, c , ..., x , y , z}. ”smi” et ”tlc” sont deuxmots sur A.

A = {if , else, a, b}. if a else b est un mot sur A.

A = {←, →, ↑, ↓}. ←←→↓↑← est un mot sur A.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 6: Introduction aux langages formels

Alphabets, mots et langages

Mots

Definition 1.3

Un mot sur l’alphabet A est une suite finie et ordonnee,eventuellement vide, d’elements de l’alphabet.

C’est une concatenation de symboles.

Exemples 1.4

A = {0, 1}. 10001 et 11 sont deux mots sur A.

A = {a, b, c , ..., x , y , z}. ”smi” et ”tlc” sont deuxmots sur A.

A = {if , else, a, b}. if a else b est un mot sur A.

A = {←, →, ↑, ↓}. ←←→↓↑← est un mot sur A.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 7: Introduction aux langages formels

Alphabets, mots et langages

Mot vide

Definition 1.5

Sur tout alphabet A, on defini un mot, appele mot videcorrespondant a une sequence vide de symboles de A.

Ce mot est unique pour tout les alphabets, et on le notepar ε.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 8: Introduction aux langages formels

Alphabets, mots et langages

Mot vide

Definition 1.5

Sur tout alphabet A, on defini un mot, appele mot videcorrespondant a une sequence vide de symboles de A.

Ce mot est unique pour tout les alphabets, et on le notepar ε.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 9: Introduction aux langages formels

Alphabets, mots et langages

Longueur d’un mot

Definition 1.6

La longueur d’un mot w sur un alphabet A est lenombre de symboles constituant ce mot. On la notepar |w |.Le mot vide ε est de longueur 0.

Exemples 1.7

Sur A = {0, 1} : |10001| = 5 et |11| = 2.

Sur A = {if , else, a, b}. |if a else b| = 4.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 10: Introduction aux langages formels

Alphabets, mots et langages

Longueur d’un mot

Definition 1.6

La longueur d’un mot w sur un alphabet A est lenombre de symboles constituant ce mot. On la notepar |w |.Le mot vide ε est de longueur 0.

Exemples 1.7

Sur A = {0, 1} : |10001| = 5 et |11| = 2.

Sur A = {if , else, a, b}. |if a else b| = 4.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 11: Introduction aux langages formels

Alphabets, mots et langages

Notations

Notations 1.8

Soient A un alphabet, u et w des mots sur A.

|w | = 0⇔ w = ε.

Si |w | = n ≥ 1, on note par wi le i eme symbole de w, etl’on ecrit w = w1w2...wn.

On note par |w |u le nombre d’occurrences du mot u dansle mot w : c’est le nombre de fois ou le mot u apparaıtdans w comme facteur.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 12: Introduction aux langages formels

Alphabets, mots et langages

Langages

Definition 1.9

Un langage L sur un alphabet A est un ensemble (vide, finiou infini) de mots sur A.

Exemples 1.10

A = {0, 1} : L = {0, 00, 10, 000, 010, 100, ...} est unlangage sur A.

A = {a, b}. Le langage des mots sur A de longueurinferieure a 3 est L = {a, b, aa, ab, ba, bb}.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 13: Introduction aux langages formels

Alphabets, mots et langages

Langages

Definition 1.9

Un langage L sur un alphabet A est un ensemble (vide, finiou infini) de mots sur A.

Exemples 1.10

A = {0, 1} : L = {0, 00, 10, 000, 010, 100, ...} est unlangage sur A.

A = {a, b}. Le langage des mots sur A de longueurinferieure a 3 est L = {a, b, aa, ab, ba, bb}.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 14: Introduction aux langages formels

Alphabets, mots et langages

Langages

Definition 1.11

On note A∗ l’ensemble de tous les mots sur un alphabetA.

C’est aussi un langage sur A (appele langage universelsur A).

Un ensemble L est alors un langage sur A, si et seulementsi L ⊆ A∗.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 15: Introduction aux langages formels

Alphabets, mots et langages

Langages

Definition 1.11

On note A∗ l’ensemble de tous les mots sur un alphabetA.

C’est aussi un langage sur A (appele langage universelsur A).

Un ensemble L est alors un langage sur A, si et seulementsi L ⊆ A∗.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 16: Introduction aux langages formels

Alphabets, mots et langages

Langages

Definition 1.11

On note A∗ l’ensemble de tous les mots sur un alphabetA.

C’est aussi un langage sur A (appele langage universelsur A).

Un ensemble L est alors un langage sur A, si et seulementsi L ⊆ A∗.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 17: Introduction aux langages formels

Operations sur les mots

Concatenation ou produit

Definition 1.12

Soit un alphabet A et u = u1u2...un et v = v1v2...vm deuxmots sur A de longueurs respectives n et m.La concatenation de u et de v consiste a ”coller” le mot vjuste apres le mot u. On obtient un mot de longueur n + m,note u.v ou tout simplement uv : uv = u1u2...unv1v2...vm.

Exemples 1.13

A = {0, 1}, u = 101 et v = 001.Alors uv = 101001 et vu = 001101

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 18: Introduction aux langages formels

Operations sur les mots

Concatenation ou produit

Definition 1.12

Soit un alphabet A et u = u1u2...un et v = v1v2...vm deuxmots sur A de longueurs respectives n et m.La concatenation de u et de v consiste a ”coller” le mot vjuste apres le mot u. On obtient un mot de longueur n + m,note u.v ou tout simplement uv : uv = u1u2...unv1v2...vm.

Exemples 1.13

A = {0, 1}, u = 101 et v = 001.Alors uv = 101001 et vu = 001101

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 19: Introduction aux langages formels

Operations sur les mots

Proprietes de la concatenation

Proposition 1.14

1 La concatenation est associative :∀u, v , w ∈ A∗ : (uw)w = u(vw) = uvw

2 Le mot vide ε est l’element neutre de la concatenation :∀u ∈ A∗ : uε = εu = u

3 La concatenation n’est pas commutative.

4 ∀u, v ∈ A∗ : |uv | = |vu| = |u|+ |v |.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 20: Introduction aux langages formels

Operations sur les mots

Proprietes de la concatenation

Proposition 1.14

1 La concatenation est associative :∀u, v , w ∈ A∗ : (uw)w = u(vw) = uvw

2 Le mot vide ε est l’element neutre de la concatenation :∀u ∈ A∗ : uε = εu = u

3 La concatenation n’est pas commutative.

4 ∀u, v ∈ A∗ : |uv | = |vu| = |u|+ |v |.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 21: Introduction aux langages formels

Operations sur les mots

Proprietes de la concatenation

Proposition 1.14

1 La concatenation est associative :∀u, v , w ∈ A∗ : (uw)w = u(vw) = uvw

2 Le mot vide ε est l’element neutre de la concatenation :∀u ∈ A∗ : uε = εu = u

3 La concatenation n’est pas commutative.

4 ∀u, v ∈ A∗ : |uv | = |vu| = |u|+ |v |.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 22: Introduction aux langages formels

Operations sur les mots

Proprietes de la concatenation

Proposition 1.14

1 La concatenation est associative :∀u, v , w ∈ A∗ : (uw)w = u(vw) = uvw

2 Le mot vide ε est l’element neutre de la concatenation :∀u ∈ A∗ : uε = εu = u

3 La concatenation n’est pas commutative.

4 ∀u, v ∈ A∗ : |uv | = |vu| = |u|+ |v |.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 23: Introduction aux langages formels

Operations sur les mots

Puissance

Definition 1.15

Soient A un alphabet, n un nombre entier et w un mot sur A.On definit la puissance neme du mot w par :

wn =

{ε si n = 0;

wn−1w si n ≥ 1.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 24: Introduction aux langages formels

Operations sur les mots

Puissance

Exemples 1.16

Soit A = {a, b} et w = bab.

w 0 = ε.

w 1 = w 0w = w = bab.

w 2 = w 1w = ww = babbab.

w 3 = w 2w = www = babbabbab.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 25: Introduction aux langages formels

Operations sur les mots

Proprietes de la puissance

∀w ∈ A∗ : w 0 = ε.

∀w ∈ A∗,∀n, m ≥ 0 : (wn)m = wnm.

∀w ∈ A∗,∀n, m ≥ 0 : wnwm = wn+m.

∀w ∈ A∗,∀n ≥ 0 : |wn| = n|w |.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 26: Introduction aux langages formels

Operations sur les mots

Egalite de deux mots

Definition 1.17

Deux mots u et v sur un meme alphabet A sont egaux(u = v), si et seulement si :

ils ont la meme longueur : |u| = |v | (disons un entier n).

l’ordre des symboles dans u est identique a celle dans v .

Autrement dis, u = v si et seulement si ui = vi , pour tout iallant de 1 a n ou n = |u| = |v |.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 27: Introduction aux langages formels

Operations sur les mots

Miroir

Definition 1.18

Soit A un alphebt et w un mot sur A. Le miroir de w,note w est le mot obtenu en inversant l’ordre dessymboles dans w.

Voici une definition recursive du miroir d’un mot :

w =

{ε si w = ε;

au si w = ua, u ∈ A∗, a ∈ A.

Exemples 1.19

Soit w = ababca sur A = {a, b, c}. Alors w = acbaba.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 28: Introduction aux langages formels

Operations sur les mots

Miroir

Definition 1.18

Soit A un alphebt et w un mot sur A. Le miroir de w,note w est le mot obtenu en inversant l’ordre dessymboles dans w.

Voici une definition recursive du miroir d’un mot :

w =

{ε si w = ε;

au si w = ua, u ∈ A∗, a ∈ A.

Exemples 1.19

Soit w = ababca sur A = {a, b, c}. Alors w = acbaba.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 29: Introduction aux langages formels

Operations sur les mots

Proprietes du miroir

Proposition 1.20˜w = w (le miroir est une operation involutive).

uv = v u.

|w | = |w |.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 30: Introduction aux langages formels

Operations sur les mots

Palindromes

Definition 1.21

Un mot w sur un alphabet A est un palindrome si w estidentique a son miroir, c’est-a-dire, si w = w .

Exemples 1.22

1001, 10101 sont des palindromes sur A = {0, 1}.radra, ete, non et ici sont des palindromes Francais.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 31: Introduction aux langages formels

Operations sur les mots

Facteurs

Definition 1.23

Soit A un alphabet. On dit qu’un mot u est un facteur d’unmot w si, w = xuy pour certains mots x ∈ A∗ et y ∈ A∗.

Exemples 1.24

Soit w = abca sur A = {a, b, c}. Les facteurs de w sont :ε, a, b, c , ab, bc , ca, abc , bca, abca = w.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 32: Introduction aux langages formels

Operations sur les mots

Prefixes

Definition 1.25

Soit A un alphabet. On dit qu’un mot u est un prefixe oufacteur gauche d’un mot w si, w = uv pour un certain motv ∈ A∗.

Exemples 1.26

Soit w = abca sur A = {a, b, c}. Les prefixes de w sont :ε, a, ab, abc , abca = w.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 33: Introduction aux langages formels

Operations sur les mots

Suffixes

Definition 1.27

Soit A un alphabet. On dit qu’un mot u est un suffixe oufacteur droit d’un mot w si, w = vu pour un certain motv ∈ A∗.

Exemples 1.28

Soit w = abca sur A = {a, b, c}. Les suffixes de w sont :ε, a, ca, bca, abca = w.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 34: Introduction aux langages formels

Operations sur les mots

Sous-mots

Definition 1.29

Soit A un alphabet. Un sous-mot u d’un mot w est une suiteextraite de w. Autrement dis, on obtient le mot u ensupprimant un certain nombre (eventuellement nul) desymboles de w.

Exemples 1.30

Soit w = abca sur A = {a, b, c}. Les sous-mots de w sont :ε, a, b, c , aa, ab, ac , ba, bc , ca, aba, abc , aca, abca = w.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 35: Introduction aux langages formels

Operations sur les mots

Facteur, prefixe, suffixe et sous-mot propre

Definition 1.31

Soit A un alphabet. Un facteur (resp. prefixe, suffixe ousous-mot) propre d’un mot w est un facteur (resp. prefixe,suffixe ou sous-mot) u tel que u 6= ε et u 6= w.

On note par :

Fact(w) : l’ensemble des facteurs de w .

Pref (w) : l’ensemble des prefixes de w .

Suff (w) : l’ensemble des suffixes de w .

SMots(w) : l’ensemble des sous-mots de w .

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 36: Introduction aux langages formels

Monoıdes

Monoıdes

Definition 1.32

Un monoıde est un ensemble E muni d’une loi decomposition interne > qui soit :

associative.

et possedant un element neutre.

Exemples 1.33

(IN , +, 0) est un monoıde.

(IN , ×, 1) est un monoıde.

(A∗, ., ε) le langage universel sur A muni de laconcatenation est un monoıde.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 37: Introduction aux langages formels

Monoıdes

Monoıdes

Definition 1.32

Un monoıde est un ensemble E muni d’une loi decomposition interne > qui soit :

associative.

et possedant un element neutre.

Exemples 1.33

(IN , +, 0) est un monoıde.

(IN , ×, 1) est un monoıde.

(A∗, ., ε) le langage universel sur A muni de laconcatenation est un monoıde.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 38: Introduction aux langages formels

Monoıdes

Monoıdes

Definition 1.32

Un monoıde est un ensemble E muni d’une loi decomposition interne > qui soit :

associative.

et possedant un element neutre.

Exemples 1.33

(IN , +, 0) est un monoıde.

(IN , ×, 1) est un monoıde.

(A∗, ., ε) le langage universel sur A muni de laconcatenation est un monoıde.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 39: Introduction aux langages formels

Monoıdes

Monoıdes

Definition 1.32

Un monoıde est un ensemble E muni d’une loi decomposition interne > qui soit :

associative.

et possedant un element neutre.

Exemples 1.33

(IN , +, 0) est un monoıde.

(IN , ×, 1) est un monoıde.

(A∗, ., ε) le langage universel sur A muni de laconcatenation est un monoıde.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 40: Introduction aux langages formels

Monoıdes

Monoıdes

Definition 1.32

Un monoıde est un ensemble E muni d’une loi decomposition interne > qui soit :

associative.

et possedant un element neutre.

Exemples 1.33

(IN , +, 0) est un monoıde.

(IN , ×, 1) est un monoıde.

(A∗, ., ε) le langage universel sur A muni de laconcatenation est un monoıde.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 41: Introduction aux langages formels

Monoıdes

Monoıdes

Definition 1.32

Un monoıde est un ensemble E muni d’une loi decomposition interne > qui soit :

associative.

et possedant un element neutre.

Exemples 1.33

(IN , +, 0) est un monoıde.

(IN , ×, 1) est un monoıde.

(A∗, ., ε) le langage universel sur A muni de laconcatenation est un monoıde.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 42: Introduction aux langages formels

Monoıdes

Monoıdes

Definition 1.32

Un monoıde est un ensemble E muni d’une loi decomposition interne > qui soit :

associative.

et possedant un element neutre.

Exemples 1.33

(IN , +, 0) est un monoıde.

(IN , ×, 1) est un monoıde.

(A∗, ., ε) le langage universel sur A muni de laconcatenation est un monoıde.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 43: Introduction aux langages formels

Monoıdes

Sous-monoıdes

Definition 1.34

Un sous-monoıde d’un monoıde (E , >) est une partieX ⊆ E, qui munie de la meme loi de composition > sur E , estun monoıde.

Proposition 1.35

(X , >) est un sous-monoıde de (E , >, e) si et seulement si :

X ⊆ E.

e ∈ X.

X est stable pour la loi > : x>y ∈ X ,∀x , y ∈ X.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 44: Introduction aux langages formels

Monoıdes

Sous-monoıdes

Definition 1.34

Un sous-monoıde d’un monoıde (E , >) est une partieX ⊆ E, qui munie de la meme loi de composition > sur E , estun monoıde.

Proposition 1.35

(X , >) est un sous-monoıde de (E , >, e) si et seulement si :

X ⊆ E.

e ∈ X.

X est stable pour la loi > : x>y ∈ X ,∀x , y ∈ X.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 45: Introduction aux langages formels

Monoıdes

Sous-monoıdes

Definition 1.34

Un sous-monoıde d’un monoıde (E , >) est une partieX ⊆ E, qui munie de la meme loi de composition > sur E , estun monoıde.

Proposition 1.35

(X , >) est un sous-monoıde de (E , >, e) si et seulement si :

X ⊆ E.

e ∈ X.

X est stable pour la loi > : x>y ∈ X ,∀x , y ∈ X.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 46: Introduction aux langages formels

Monoıdes

Sous-monoıdes

Definition 1.34

Un sous-monoıde d’un monoıde (E , >) est une partieX ⊆ E, qui munie de la meme loi de composition > sur E , estun monoıde.

Proposition 1.35

(X , >) est un sous-monoıde de (E , >, e) si et seulement si :

X ⊆ E.

e ∈ X.

X est stable pour la loi > : x>y ∈ X ,∀x , y ∈ X.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 47: Introduction aux langages formels

Monoıdes

Sous-monoıdes

Definition 1.34

Un sous-monoıde d’un monoıde (E , >) est une partieX ⊆ E, qui munie de la meme loi de composition > sur E , estun monoıde.

Proposition 1.35

(X , >) est un sous-monoıde de (E , >, e) si et seulement si :

X ⊆ E.

e ∈ X.

X est stable pour la loi > : x>y ∈ X ,∀x , y ∈ X.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 48: Introduction aux langages formels

Monoıdes

Sous-monoıdes

Definition 1.34

Un sous-monoıde d’un monoıde (E , >) est une partieX ⊆ E, qui munie de la meme loi de composition > sur E , estun monoıde.

Proposition 1.35

(X , >) est un sous-monoıde de (E , >, e) si et seulement si :

X ⊆ E.

e ∈ X.

X est stable pour la loi > : x>y ∈ X ,∀x , y ∈ X.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 49: Introduction aux langages formels

Monoıdes

Ensembles de generateurs

Definition 1.36

Une partie F ⊆ E d’un d’un monoıde (E , >) est un ensemblede generateurs de (E , >), si tout element de E\{e}s’exprime sous forme d’une decomposition d’elements de E .

Exemples 1.37

{1} est un ensemble de generateurs de (IN , +).

L’ensemble des nombres premiers est un ensemble degenerateurs de (IN , ×).

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 50: Introduction aux langages formels

Monoıdes

Ensembles de generateurs

Definition 1.36

Une partie F ⊆ E d’un d’un monoıde (E , >) est un ensemblede generateurs de (E , >), si tout element de E\{e}s’exprime sous forme d’une decomposition d’elements de E .

Exemples 1.37

{1} est un ensemble de generateurs de (IN , +).

L’ensemble des nombres premiers est un ensemble degenerateurs de (IN , ×).

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 51: Introduction aux langages formels

Monoıdes

Ensembles de generateurs

Definition 1.36

Une partie F ⊆ E d’un d’un monoıde (E , >) est un ensemblede generateurs de (E , >), si tout element de E\{e}s’exprime sous forme d’une decomposition d’elements de E .

Exemples 1.37

{1} est un ensemble de generateurs de (IN , +).

L’ensemble des nombres premiers est un ensemble degenerateurs de (IN , ×).

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 52: Introduction aux langages formels

Monoıdes

Ensembles de generateurs

Definition 1.36

Une partie F ⊆ E d’un d’un monoıde (E , >) est un ensemblede generateurs de (E , >), si tout element de E\{e}s’exprime sous forme d’une decomposition d’elements de E .

Exemples 1.37

{1} est un ensemble de generateurs de (IN , +).

L’ensemble des nombres premiers est un ensemble degenerateurs de (IN , ×).

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 53: Introduction aux langages formels

Monoıdes

Ensembles de generateurs

Definition 1.36

Une partie F ⊆ E d’un d’un monoıde (E , >) est un ensemblede generateurs de (E , >), si tout element de E\{e}s’exprime sous forme d’une decomposition d’elements de E .

Exemples 1.37

{1} est un ensemble de generateurs de (IN , +).

L’ensemble des nombres premiers est un ensemble degenerateurs de (IN , ×).

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 54: Introduction aux langages formels

Monoıdes

Ensembles de generateurs independants

Definition 1.38

Si F ⊆ E est un ensemble de generateurs de (E , >) et sichaque element x 6= e possede une decomposition uniquedans E , alors F est dis un ensemble de generateursindependants de E .

Exemples 1.39

{1} est un ensemble de generateurs independants de(IN , +).

L’ensemble des nombres premiers n’est pas un ensemblede generateurs independants de (IN , ×).

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 55: Introduction aux langages formels

Monoıdes

Ensembles de generateurs independants

Definition 1.38

Si F ⊆ E est un ensemble de generateurs de (E , >) et sichaque element x 6= e possede une decomposition uniquedans E , alors F est dis un ensemble de generateursindependants de E .

Exemples 1.39

{1} est un ensemble de generateurs independants de(IN , +).

L’ensemble des nombres premiers n’est pas un ensemblede generateurs independants de (IN , ×).

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 56: Introduction aux langages formels

Monoıdes

Ensembles de generateurs independants

Definition 1.38

Si F ⊆ E est un ensemble de generateurs de (E , >) et sichaque element x 6= e possede une decomposition uniquedans E , alors F est dis un ensemble de generateursindependants de E .

Exemples 1.39

{1} est un ensemble de generateurs independants de(IN , +).

L’ensemble des nombres premiers n’est pas un ensemblede generateurs independants de (IN , ×).

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 57: Introduction aux langages formels

Monoıdes

Ensembles de generateurs independants

Definition 1.38

Si F ⊆ E est un ensemble de generateurs de (E , >) et sichaque element x 6= e possede une decomposition uniquedans E , alors F est dis un ensemble de generateursindependants de E .

Exemples 1.39

{1} est un ensemble de generateurs independants de(IN , +).

L’ensemble des nombres premiers n’est pas un ensemblede generateurs independants de (IN , ×).

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 58: Introduction aux langages formels

Monoıdes

Ensembles de generateurs independants

Definition 1.38

Si F ⊆ E est un ensemble de generateurs de (E , >) et sichaque element x 6= e possede une decomposition uniquedans E , alors F est dis un ensemble de generateursindependants de E .

Exemples 1.39

{1} est un ensemble de generateurs independants de(IN , +).

L’ensemble des nombres premiers n’est pas un ensemblede generateurs independants de (IN , ×).

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 59: Introduction aux langages formels

Monoıdes

Monoıdes libres

Definition 1.40

Un monoıde libre E est un monoıde possedant un ensemblede generateurs independants.

Exemples 1.41

Si A est un alphabet non vide, alors A∗ est un monoıdelibre. En effet, A est un ensemble de generateursindependants de A∗.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 60: Introduction aux langages formels

Monoıdes

Monoıdes libres

Definition 1.40

Un monoıde libre E est un monoıde possedant un ensemblede generateurs independants.

Exemples 1.41

Si A est un alphabet non vide, alors A∗ est un monoıdelibre. En effet, A est un ensemble de generateursindependants de A∗.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 61: Introduction aux langages formels

Monoıdes

Monoıdes libres

Definition 1.40

Un monoıde libre E est un monoıde possedant un ensemblede generateurs independants.

Exemples 1.41

Si A est un alphabet non vide, alors A∗ est un monoıdelibre. En effet, A est un ensemble de generateursindependants de A∗.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 62: Introduction aux langages formels

Monoıdes

Monoıdes libres

Definition 1.40

Un monoıde libre E est un monoıde possedant un ensemblede generateurs independants.

Exemples 1.41

Si A est un alphabet non vide, alors A∗ est un monoıdelibre. En effet, A est un ensemble de generateursindependants de A∗.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 63: Introduction aux langages formels

Operations sur les langages

Operations ensemblistes

Definition 1.42

Union : L, M ⊆ A∗ : L ∪M = {w ∈ A∗ | w ∈ L ou w ∈ M}(note L + M en theorie des langages).

Proposition 1.43

L’union est associative.

L’union est commutative.

L’union possede un element neutre : ∅.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 64: Introduction aux langages formels

Operations sur les langages

Operations ensemblistes

Definition 1.42

Union : L, M ⊆ A∗ : L ∪M = {w ∈ A∗ | w ∈ L ou w ∈ M}(note L + M en theorie des langages).

Proposition 1.43

L’union est associative.

L’union est commutative.

L’union possede un element neutre : ∅.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 65: Introduction aux langages formels

Operations sur les langages

Operations ensemblistes

Definition 1.42

Union : L, M ⊆ A∗ : L ∪M = {w ∈ A∗ | w ∈ L ou w ∈ M}(note L + M en theorie des langages).

Proposition 1.43

L’union est associative.

L’union est commutative.

L’union possede un element neutre : ∅.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 66: Introduction aux langages formels

Operations sur les langages

Operations ensemblistes

Definition 1.42

Union : L, M ⊆ A∗ : L ∪M = {w ∈ A∗ | w ∈ L ou w ∈ M}(note L + M en theorie des langages).

Proposition 1.43

L’union est associative.

L’union est commutative.

L’union possede un element neutre : ∅.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 67: Introduction aux langages formels

Operations sur les langages

Operations ensemblistes

Definition 1.42

Union : L, M ⊆ A∗ : L ∪M = {w ∈ A∗ | w ∈ L ou w ∈ M}(note L + M en theorie des langages).

Proposition 1.43

L’union est associative.

L’union est commutative.

L’union possede un element neutre : ∅.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 68: Introduction aux langages formels

Operations sur les langages

Operations ensemblistes

Definition 1.44

Intersection : L, M ⊆ A∗ : L ∩M = {w ∈ A∗ | w ∈ L etw ∈ M}.

Proposition 1.45

L’intersection est associative.

L’intersection est commutative.

L’intersection possede un element neutre : A∗.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 69: Introduction aux langages formels

Operations sur les langages

Operations ensemblistes

Definition 1.44

Intersection : L, M ⊆ A∗ : L ∩M = {w ∈ A∗ | w ∈ L etw ∈ M}.

Proposition 1.45

L’intersection est associative.

L’intersection est commutative.

L’intersection possede un element neutre : A∗.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 70: Introduction aux langages formels

Operations sur les langages

Operations ensemblistes

Definition 1.44

Intersection : L, M ⊆ A∗ : L ∩M = {w ∈ A∗ | w ∈ L etw ∈ M}.

Proposition 1.45

L’intersection est associative.

L’intersection est commutative.

L’intersection possede un element neutre : A∗.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 71: Introduction aux langages formels

Operations sur les langages

Operations ensemblistes

Definition 1.44

Intersection : L, M ⊆ A∗ : L ∩M = {w ∈ A∗ | w ∈ L etw ∈ M}.

Proposition 1.45

L’intersection est associative.

L’intersection est commutative.

L’intersection possede un element neutre : A∗.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 72: Introduction aux langages formels

Operations sur les langages

Operations ensemblistes

Definition 1.44

Intersection : L, M ⊆ A∗ : L ∩M = {w ∈ A∗ | w ∈ L etw ∈ M}.

Proposition 1.45

L’intersection est associative.

L’intersection est commutative.

L’intersection possede un element neutre : A∗.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 73: Introduction aux langages formels

Operations sur les langages

Operations ensemblistes

Definition 1.46

Complementaire : L ⊆ A∗ : L = {w ∈ A∗ | w 6∈ L}.

Definition 1.47

Difference : L, M ⊆ A∗ : L\M = {w ∈ A∗ | w ∈ L etw 6∈ M}.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 74: Introduction aux langages formels

Operations sur les langages

Operations ensemblistes

Definition 1.46

Complementaire : L ⊆ A∗ : L = {w ∈ A∗ | w 6∈ L}.

Definition 1.47

Difference : L, M ⊆ A∗ : L\M = {w ∈ A∗ | w ∈ L etw 6∈ M}.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 75: Introduction aux langages formels

Operations sur les langages

Operations ensemblistes

Definition 1.46

Complementaire : L ⊆ A∗ : L = {w ∈ A∗ | w 6∈ L}.

Definition 1.47

Difference : L, M ⊆ A∗ : L\M = {w ∈ A∗ | w ∈ L etw 6∈ M}.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 76: Introduction aux langages formels

Operations sur les langages

Operations langagieres

1 Concatenation :L, M ⊆ A∗ : L.M = LM = {w ∈ A∗ | w = uv , u ∈ L etv ∈ M}.

2 Puissance : L ⊆ A∗ et n ≥ 0 un entier. On definit lapuissance neme du langage L, note Ln, par :

Ln =

{{ε} si n = 0;

Ln−1L si n ≥ 1.

Remarques 1.48

Ln represente le langage de tous les mots obtenus enconcatenant n mots pris dans L.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 77: Introduction aux langages formels

Operations sur les langages

Operations langagieres

1 Concatenation :L, M ⊆ A∗ : L.M = LM = {w ∈ A∗ | w = uv , u ∈ L etv ∈ M}.

2 Puissance : L ⊆ A∗ et n ≥ 0 un entier. On definit lapuissance neme du langage L, note Ln, par :

Ln =

{{ε} si n = 0;

Ln−1L si n ≥ 1.

Remarques 1.48

Ln represente le langage de tous les mots obtenus enconcatenant n mots pris dans L.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 78: Introduction aux langages formels

Operations sur les langages

Operations langagieres

1 Concatenation :L, M ⊆ A∗ : L.M = LM = {w ∈ A∗ | w = uv , u ∈ L etv ∈ M}.

2 Puissance : L ⊆ A∗ et n ≥ 0 un entier. On definit lapuissance neme du langage L, note Ln, par :

Ln =

{{ε} si n = 0;

Ln−1L si n ≥ 1.

Remarques 1.48

Ln represente le langage de tous les mots obtenus enconcatenant n mots pris dans L.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 79: Introduction aux langages formels

Operations sur les langages

Operations langagieres

1 Concatenation :L, M ⊆ A∗ : L.M = LM = {w ∈ A∗ | w = uv , u ∈ L etv ∈ M}.

2 Puissance : L ⊆ A∗ et n ≥ 0 un entier. On definit lapuissance neme du langage L, note Ln, par :

Ln =

{{ε} si n = 0;

Ln−1L si n ≥ 1.

Remarques 1.48

Ln represente le langage de tous les mots obtenus enconcatenant n mots pris dans L.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 80: Introduction aux langages formels

Operations sur les langages

Operations langagieres

1 Concatenation :L, M ⊆ A∗ : L.M = LM = {w ∈ A∗ | w = uv , u ∈ L etv ∈ M}.

2 Puissance : L ⊆ A∗ et n ≥ 0 un entier. On definit lapuissance neme du langage L, note Ln, par :

Ln =

{{ε} si n = 0;

Ln−1L si n ≥ 1.

Remarques 1.48

Ln represente le langage de tous les mots obtenus enconcatenant n mots pris dans L.

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 81: Introduction aux langages formels

Operations sur les langages

Operations langagieres

1 Miroir : L ⊆ A∗ : L = {w | w ∈ L}.2 Etoile (ou Fermeture de Kleene) : notee L∗ et definie

par :

L∗ = ∪∞n=0Ln = L0 ∪ L1 ∪ L2 ∪ ... = {ε} ∪ L ∪ L2 ∪ ...

3 Etoile positive : notee L+ et definie par :

L+ = ∪∞n=1Ln = L1 ∪ L2 ∪ L3 ∪ ... = L ∪ L2 ∪ L3 ∪ ...

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 82: Introduction aux langages formels

Operations sur les langages

Operations langagieres

1 Miroir : L ⊆ A∗ : L = {w | w ∈ L}.

2 Etoile (ou Fermeture de Kleene) : notee L∗ et definiepar :

L∗ = ∪∞n=0Ln = L0 ∪ L1 ∪ L2 ∪ ... = {ε} ∪ L ∪ L2 ∪ ...

3 Etoile positive : notee L+ et definie par :

L+ = ∪∞n=1Ln = L1 ∪ L2 ∪ L3 ∪ ... = L ∪ L2 ∪ L3 ∪ ...

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 83: Introduction aux langages formels

Operations sur les langages

Operations langagieres

1 Miroir : L ⊆ A∗ : L = {w | w ∈ L}.2 Etoile (ou Fermeture de Kleene) : notee L∗ et definie

par :

L∗ = ∪∞n=0Ln = L0 ∪ L1 ∪ L2 ∪ ... = {ε} ∪ L ∪ L2 ∪ ...

3 Etoile positive : notee L+ et definie par :

L+ = ∪∞n=1Ln = L1 ∪ L2 ∪ L3 ∪ ... = L ∪ L2 ∪ L3 ∪ ...

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 84: Introduction aux langages formels

Operations sur les langages

Operations langagieres

1 Miroir : L ⊆ A∗ : L = {w | w ∈ L}.2 Etoile (ou Fermeture de Kleene) : notee L∗ et definie

par :

L∗ = ∪∞n=0Ln = L0 ∪ L1 ∪ L2 ∪ ... = {ε} ∪ L ∪ L2 ∪ ...

3 Etoile positive : notee L+ et definie par :

L+ = ∪∞n=1Ln = L1 ∪ L2 ∪ L3 ∪ ... = L ∪ L2 ∪ L3 ∪ ...

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 85: Introduction aux langages formels

Operations sur les langages

Quelques proprietes des operations sur les langagesSoit A un alphabet quelconque.

1 ∀L, M , N ⊆ A∗ : L(M + N) = LM + LN

2 ∀L, M , N ⊆ A∗ : (M + N)L = ML + NL

3 ∀L, Mi ⊆ A∗ : L(∪∞i=0Mi) = ∪∞i=0(LMi)

4 ∀L, Mi ⊆ A∗ : (∪∞i=0Mi)L = ∪∞i=0(MiL)

5 ∀L, M , N ⊆ A∗ : L(M ∩ N) ⊆ LM ∩ LN

6 ∀L ∈ A∗ : L+ = LL∗ = L∗L

7 ∀L, M ∈ A∗ : (LM) = ML

8 ∀L ∈ A∗ :˜L = L

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 86: Introduction aux langages formels

Operations sur les langages

Quelques proprietes des operations sur les langagesSoit A un alphabet quelconque.

1 ∀L, M , N ⊆ A∗ : L(M + N) = LM + LN

2 ∀L, M , N ⊆ A∗ : (M + N)L = ML + NL

3 ∀L, Mi ⊆ A∗ : L(∪∞i=0Mi) = ∪∞i=0(LMi)

4 ∀L, Mi ⊆ A∗ : (∪∞i=0Mi)L = ∪∞i=0(MiL)

5 ∀L, M , N ⊆ A∗ : L(M ∩ N) ⊆ LM ∩ LN

6 ∀L ∈ A∗ : L+ = LL∗ = L∗L

7 ∀L, M ∈ A∗ : (LM) = ML

8 ∀L ∈ A∗ :˜L = L

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 87: Introduction aux langages formels

Operations sur les langages

Quelques proprietes des operations sur les langagesSoit A un alphabet quelconque.

1 ∀L, M , N ⊆ A∗ : L(M + N) = LM + LN

2 ∀L, M , N ⊆ A∗ : (M + N)L = ML + NL

3 ∀L, Mi ⊆ A∗ : L(∪∞i=0Mi) = ∪∞i=0(LMi)

4 ∀L, Mi ⊆ A∗ : (∪∞i=0Mi)L = ∪∞i=0(MiL)

5 ∀L, M , N ⊆ A∗ : L(M ∩ N) ⊆ LM ∩ LN

6 ∀L ∈ A∗ : L+ = LL∗ = L∗L

7 ∀L, M ∈ A∗ : (LM) = ML

8 ∀L ∈ A∗ :˜L = L

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 88: Introduction aux langages formels

Operations sur les langages

Quelques proprietes des operations sur les langagesSoit A un alphabet quelconque.

1 ∀L, M , N ⊆ A∗ : L(M + N) = LM + LN

2 ∀L, M , N ⊆ A∗ : (M + N)L = ML + NL

3 ∀L, Mi ⊆ A∗ : L(∪∞i=0Mi) = ∪∞i=0(LMi)

4 ∀L, Mi ⊆ A∗ : (∪∞i=0Mi)L = ∪∞i=0(MiL)

5 ∀L, M , N ⊆ A∗ : L(M ∩ N) ⊆ LM ∩ LN

6 ∀L ∈ A∗ : L+ = LL∗ = L∗L

7 ∀L, M ∈ A∗ : (LM) = ML

8 ∀L ∈ A∗ :˜L = L

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 89: Introduction aux langages formels

Operations sur les langages

Quelques proprietes des operations sur les langagesSoit A un alphabet quelconque.

1 ∀L, M , N ⊆ A∗ : L(M + N) = LM + LN

2 ∀L, M , N ⊆ A∗ : (M + N)L = ML + NL

3 ∀L, Mi ⊆ A∗ : L(∪∞i=0Mi) = ∪∞i=0(LMi)

4 ∀L, Mi ⊆ A∗ : (∪∞i=0Mi)L = ∪∞i=0(MiL)

5 ∀L, M , N ⊆ A∗ : L(M ∩ N) ⊆ LM ∩ LN

6 ∀L ∈ A∗ : L+ = LL∗ = L∗L

7 ∀L, M ∈ A∗ : (LM) = ML

8 ∀L ∈ A∗ :˜L = L

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 90: Introduction aux langages formels

Operations sur les langages

Quelques proprietes des operations sur les langagesSoit A un alphabet quelconque.

1 ∀L, M , N ⊆ A∗ : L(M + N) = LM + LN

2 ∀L, M , N ⊆ A∗ : (M + N)L = ML + NL

3 ∀L, Mi ⊆ A∗ : L(∪∞i=0Mi) = ∪∞i=0(LMi)

4 ∀L, Mi ⊆ A∗ : (∪∞i=0Mi)L = ∪∞i=0(MiL)

5 ∀L, M , N ⊆ A∗ : L(M ∩ N) ⊆ LM ∩ LN

6 ∀L ∈ A∗ : L+ = LL∗ = L∗L

7 ∀L, M ∈ A∗ : (LM) = ML

8 ∀L ∈ A∗ :˜L = L

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 91: Introduction aux langages formels

Operations sur les langages

Quelques proprietes des operations sur les langagesSoit A un alphabet quelconque.

1 ∀L, M , N ⊆ A∗ : L(M + N) = LM + LN

2 ∀L, M , N ⊆ A∗ : (M + N)L = ML + NL

3 ∀L, Mi ⊆ A∗ : L(∪∞i=0Mi) = ∪∞i=0(LMi)

4 ∀L, Mi ⊆ A∗ : (∪∞i=0Mi)L = ∪∞i=0(MiL)

5 ∀L, M , N ⊆ A∗ : L(M ∩ N) ⊆ LM ∩ LN

6 ∀L ∈ A∗ : L+ = LL∗ = L∗L

7 ∀L, M ∈ A∗ : (LM) = ML

8 ∀L ∈ A∗ :˜L = L

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels

Page 92: Introduction aux langages formels

Operations sur les langages

Quelques proprietes des operations sur les langagesSoit A un alphabet quelconque.

1 ∀L, M , N ⊆ A∗ : L(M + N) = LM + LN

2 ∀L, M , N ⊆ A∗ : (M + N)L = ML + NL

3 ∀L, Mi ⊆ A∗ : L(∪∞i=0Mi) = ∪∞i=0(LMi)

4 ∀L, Mi ⊆ A∗ : (∪∞i=0Mi)L = ∪∞i=0(MiL)

5 ∀L, M , N ⊆ A∗ : L(M ∩ N) ⊆ LM ∩ LN

6 ∀L ∈ A∗ : L+ = LL∗ = L∗L

7 ∀L, M ∈ A∗ : (LM) = ML

8 ∀L ∈ A∗ :˜L = L

Prof. A. Dargham Chapitre 1 : Introduction aux langages formels