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

Introduction aux langages formels

Embed Size (px)

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.

Citation preview

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