Documente Academic
Documente Profesional
Documente Cultură
Les langages.
Les langages r
eguliers : lanalyse lexicale,
Th
eorie des langages.
Chapitre 1
1 Les mots.
Un alphabet est un ensemble A, dont les elements sont
appeles lettres, caract`eres ou symboles.
Les mots
Un mot u sur lalphabet A est une application
u : {1, . . . , m} A
o`
u
m est un entier appele la longueur de u et note | u |
{1, . . . , m} est lensemble des entiers naturels i tels
que 1 i m.
u(i) est appelee la i`eme lettre, le i`eme caract`ere ou le
i`eme symbole de u.
Si u(i) = x, on dira que u(i) est une occurrence de x
dans u.
On peut noter u[i] au lieu de u(i) : on constate alors
que la denition des mots nous est tr`es famili`ere !
2002
Les langages.
Section 1
1.1 D
efinitions de base.
Soit u A .
Lorsque | u | = 0, u : A est le mot sans caract`
ere
(mot vide), note .
Lorsque | u | = 1, u : {1} A est d
eni par le seul
caract`ere u(1) A.
On convient didentier tout x A au mot de longueur 1
quil denit :
A A
Les langages.
2002
Chapitre 1
1.2 R
ecurrence sur les mots bas
ee sur ladjonction
doccurrences `
a droite.
Tout element de A ou bien est ou bien sobtient a`
partir dun element de A par adjonction dun caract`ere
a droite. Les deux clauses suivantes :
`
(le mot sans caract`ere)
A
pour tout x A : si u A alors ux A
(adjonction de x `
a droite de u)
constituent donc une denition inductive de A . Plus
precisement, A est le plus petit ensemble veriant les deux
proprietes cidessus.
Exemple :
Construction
resultat
en abrege
mot initial
adjonction de a
adjonction de a
aa
aa
adjonction de b
aab
aab
2002
Les langages.
Section 1
Les langages.
2002
Chapitre 1
2002
Les langages.
Section 1
Quels
0)
1)
2)
Propri
et
es de la concat
enation
que soient u, v et w A :
| u . v | = | u | + | v |.
Neutralite : . u = u et u . = u.
Associativite : (u . v) . w = u .(v . w).
On
ecrit tr`
es souvent uv au lieu de u . v et uvw au lieu
de (u . v) . w ou u .(v . w).
Lemme de L
evy.
Si u, v, et A verient : uv = et | v | | | (et
donc aussi | u | | |) alors il existe A tel que u =
et = v.
La preuve se fait par recurrence sur v : lenonce en cause
a la forme P [v] = quels que soient u, , A . . ..
Si v = alors = convient parfaitement ;
supposons que P [v] soit vrai : il faut montrer qualors,
P [vx] est vrai pour tout x A.
Supposons donc que lon ait u(vx) = et | vx | | |.
Cette derni`ere condition implique = et on a donc
A et y A tels que = y.
La premi`ere peut alors secrire (denition de la concatenation !) (uv)x = ( )y, ce qui (lecture unique des
mots) implique uv = et y = x ;
lhypoth`ese de recurrence sapplique puisque lon a aussi
| v | | | : on a donc un mot veriant u = et
= v, et donc = x = (v)x = (vx).
Les langages.
2002
Chapitre 1
2 Les langages, op
erations
el
ementaires sur les langages.
Exemples.
A , A A et A A sont des langages sur A.
2002
Les langages.
Section 2
Une caract
erisation de la somme.
Quels que soient L A , M A et N A :
L + M N ssi L N et M N
Quels
1)
2)
3)
4)
5)
Propri
et
es de la somme
que soient L A , M A et N A :
Neutralite : L + = L et + L = L.
Associativite : (L + M ) + N = L + (M + N )
(la valeur commune secrit souvent L + M + N )
Commutativite : L + M = M + L.
Idempotence : L + L = L.
Croissance : M N implique L + M L + N .
Les langages.
2002
10
Chapitre 1
2.2 Sommes g
en
eralis
ees de langages.
Une famille de langages sur A, indexee par un ensemble I,
est la donnee, pour chaque i I, dun langage Li A .
Une famille indexee par un ensemble dentiers (naturels)
sappelle generalement une suite.
Soit (Li )iI une telle famille, alors
Li A est la
r
eunion des langages Li .
iI
Somme g
en
eralis
ee
Pour tout u A :
u
Cas particuliers.
Li =
i
Li = L1
i{1}
Li = L1 + L2
i{1,2}
2002
Les langages.
Section 2
11
2.3 Concat
enation des langages.
Soient L et M A deux langages sur A, alors tout element
de L . M A est obtenu en concatenant un element de L
et un element de M , dans cet ordre.
Concat
enation des langages
Pour tout u A :
u L . M ssi il existe v L et w M tels que u = v . w
Remarque.
Lorsque L = v et M = w sont des langages reduits a` un
seul element, L . M = v . w est un langage reduit a` un seul
element : on a etendu aux langages la denition relative
aux mots.
Quels
1)
2)
3)
4)
5)
Propri
et
es de la concat
enation
que soient L, M et N A :
Neutralite : L . = L et . L = L
Associativite : (L . M ) . N = L .(M . N )
Croissance :
M N implique L . M L . N et M . L N . L
Nullite : L . = et . L =
Distributivite : L .(M + N ) = L . M + L . N et
(M + N ) . L = M . L + N . L
Les langages.
2002
12
Chapitre 1
Mi
(L . Mi )
iI
iI
Mi . L =
iI
(Mi . L)
iI
On
ecrit tr`
es souvent LM au lieu de L . M et LM N au
lieu de (L . M ) . N ou L .(M . N ).
2002
Les langages.
Section 2
13
2.4 Quelques d
efinitions.
ensemble f g(u) A des facteurs gauches (prexes)
du mot u, deni par la recurrence :
f g() =
f g(ux) = f g(u)+ux pour tout u A et tout x A
verie :
v f g(u) ssi il existe w A tel que u = vw
pour tout u A et tout v A .
verie :
v f d(u) ssi il existe w A tel que u = wv
pour tout u A et tout v A .
Les langages.
2002
14
Chapitre 1
3 It
eration des langages.
Lensemble Ai des mots que lon obtient a` partir du mot
sans caract`ere, par i adjonctions successives dun caract`ere
a droite, se denit par la recurrence suivante sur lentier i
`
(un mot sans caract`ere)
A0 =
i+1
i
=AA
pour tout i.
A
(on adjoint un caract`ere `a droite, si A = )
A est lensemble de tous les mots ainsi construits :
A =
Ai
i0
L =
Li .
i0
2002
Les langages.
Section 3
15
Remarques.
Cas o`
u L = a est reduit a` un seul mot de longueur 1 :
ai est reduit au mot de longueur i ne comportant
que des occurrences du seul caract`ere a, par exemple
a5 = aaaaa ;
a = {ai | i 0} est lensemble des mots ne
comportant que des occurrences du seul caract`ere a.
u Ai ssi | u | = i,
u ( + A)i ssi | u | i.
Quels
1)
2)
3)
4)
Propri
et
es des puissances
que soient L A et les entiers naturels i, j et k :
L1 = L.
Li Lj = Li+j .
Li L = LLi = Li+1 .
( + L)k =
Li .
0ik
Les langages.
2002
16
Chapitre 1
Quels
1)
2)
3)
4)
5)
6)
7)
8)
Propri
et
es de lit
eration
que soient L A , M A et N A :
Stabilite par concatenation : si M L et N L
alors M N L .
Stabilite par iteration : si M L alors M L .
Croissance : si M L alors M L .
= et = .
L L = LL .
L L = L = L .
L = + L L = + LL .
(L + M ) = (L + M )
= (L M ) = L (M L ) = (L M ) L .
Remarque.
Quels que soient L A et M A , on a :
L M ssi pour tout entier i, Li M
Lorsque lon veut montrer une propriete du type L M ,
il sut de verier que Li M pour tout i, ce qui peut se
faire par recurrence sur i.
2002
Les langages.
Section 4
17
4 Syst`
emes d
equations lin
eaires.
La notation multiplicative pour la concatenation et additive pour la reunion nous permet decrire des equations
algebriques dans lensemble des langages sur un alphabet
A et de tenter leur resolution.
4.1 Equations lin
eaires `
a une inconnue.
Soient A A et B A .
Une solution de lequation
(E)
X = AX + B
R
esolution de (E)
1) L = A B est une solution de (E).
2) L est la plus petite solution de (E).
3) Si A, alors (E) admet une solution unique.
2) signie que si M A verie M = AM + B, alors
A B M .
Les langages.
2002
18
Chapitre 1
1) AL + B = AA B + B = (AA + )B = A B = L.
2) Soit M une solution de (E) : on a M = AM + B donc, en
particulier, B M et AM M . Pour montrer A B M ,
il sut de verier que Ai B M pour tout i. Cest une
recurrence facile :
pour i = 0, on a A0 B = B M ,
supposons que Ai B M alors
Ai+1 B = A(Ai B) AM M .
3) montrons dabord, par recurrence sur k, que si M est une
solution de (E) alors :
(Ek )
M = Ak+1 M + ( + A)k B
pour tout entier naturel k.
(E0 ) signie simplement que M verie (E).
Si (Ek ) est vraie, alors, en utilisant M = AM + B, on
peut ecrire :
M = Ak+1 (AM + B) + ( + A)k B
= Ak+2 M + (( + A)k + Ak+1 )B
= Ak+2 M + ( + A)k+1 B
ce qui implique (Ek+1 ).
Supposons que A :
|u|+1
pour tout u A on a u A
M , puisque les elements
de A sont au moins de longueur 1 ;
|u|
2002
Les langages.
Section 4
19
4.2 Syst`
emes d
equations lin
eaires.
Soit m un entier naturel et soient Ai,j A et Bi A
pour i m et j m.
Une solution du syst`eme
(E) Xi =
Ai,j Xj + Bi
jm
pour i m
L0
.
est un (m + 1)uplet L = .. de langages sur A
Lm
satisfaisant
Li =
M0
L0
... ... ssi Li Mi pour tout i m.
Lm
Mm
R
esolution de (E)
1) et 2) (E) admet une plus petite solution.
3) si Ai,j pour chaque i et chaque j, alors (E)
admet une solution unique.
Les langages.
2002
20
Chapitre 1
M
ethode matricielle.
En utilisant la notation matricielle, on peut ecrire (E) sous
la forme X = AX + B o`
u
X0
.
X = ..
Xm
B0
.
B = ..
Bm
A0,0
A = ...
Am,0
...
..
.
...
A0,m
..
.
Am,m
M
ethode de Gauss.
La methode de resolution adoptee ici est une transposition
de la m
ethode de Gauss, basee sur lappliction iteree de
deux operations elementaires :
la r
esolution partielle,
la substitution.
2002
Les langages.
Section 4
21
Xi = Ai,i Ci
dont le second membre ne depend plus de Xi .
On verie que pour tout entier naturel i m :
R
esolution partielle
Soit (F ) le syst`eme obtenu `a partir de (E) en remplacant
lequation de Xi par sa resolvante partielle, alors :
la plus petite solution de (F ) est egale `a la plus petite
solution de (E).
On verie que, pour tout couple dentiers naturels i m
et j m tels que i = k :
Substitution
Soit (F ) le syst`eme obtenu `a partir de (E) en remplacant
Xi par le second membre
Ai,j Xj + Bi de son equation
jm
Les langages.
2002
22
Chapitre 1
Exemple.
Considerons le syst`eme
X0 = bX0 + aX1
X1 =
aX2 + bX3
X2 =
aX1
+ bX3 +
bX1
+ aX3
X3 =
Les operations successives
r
esolution de X0 ,
r
esolution de X3 ,
substitution de X3 dans les
equations de X1 et X2 ,
substitution de X2 dans l
equation de X1
le transforment en :
X0 = b aX1
X1 = (aa + ba b + aba b)X1 + a
X2 = (a + ba b)X1 +
X3 = a bX1
Enn, la resolution de X1 et des substitutions, conduisent
a la solution cherchee :
`
X0 = b a(aa + ba b + aba b) a
X1 = (aa + ba b + aba b) a
X2 = (a + ba b)(aa + ba b + aba b) a +
X3 = a b(aa + ba b + aba b) a
Remarque.
Lexpression de la plus petite solution peut varier tr`es
sensiblement en fonction de lordre suivant lequel on effectue les operations.
2002
Les langages.
Section 5
23
5 Monodes
et morphismes de monodes.
On a fait des conventions qui, pour un alphabet A, peuvent
se resumer par
A A P(A )
De plus
la concat
enation est notee par une simple juxtaposition,
evoquant une multiplication ;
la r
eunion est notee par le sympbole daddition ou le
symbole somme.
Les langages.
2002
24
Chapitre 1
5.1 D
efinition des monodes.
Les monodes sont des ensembles munis dune structure
algebrique fort courante.
Les monodes
Un monode est un triplet (D, , e) o`
u
D est un ensemble,
: D D D est une operation binaire que lon
notera (x, y) x y,
e D est un element particulier de D ;
qui verie les proprietes suivantes :
Neutralite : x e = x et e x = x
quel que soit x D,
Associativite : (x y) z = x (y z)
quels que soient x D, y D et z D.
Exemples.
Lensemble N des entiers naturels est muni de deux
structures de monodes : (N, +, 0) et (N, , 1).
2002
Les langages.
Section 5
25
5.2 Propri
et
e principale de A .
Lorsque lon passe des ensembles aux applications, on est
conduit a` la denition suivante :
Morphismes de monodes
Soient (D, , e) et (D , , e ) deux monodes.
Un morphisme (D, , e) (D , , e ) est une application
h : D D qui verie les proprietes suivantes :
h(e) = e ,
h(x y) = h(x) h(y) quels que soient x D et
y D.
Par exemple, lapplication longueur u | u | denit un
morphisme (A , ., ) (N, +, 0).
Les langages.
2002
26
Chapitre 1
V
erification de la propri
et
e principale.
Si un tel morphisme f existe :
f etend f signie quef (x) = f (x) pour tout x A ;
f est un morphisme de monodes impliquef () = e
et, pour tout u A et tout x A, f (ux) =
f (u) f (x) = f (u) f (x).
Or, les conditions
(1) f () = e
(2) f (ux) = f (u) f (x) pour tout u A et tout x A
denissent enti`erement f par recurrence sur les mots sur A.
Lapplication ainsi obtenue est un morphisme de monodes :
on sait d
ej`
a que f () = e,
il reste donc a
` verier que lon a f (u . v) = f (u) f (v)
pour tout u A et tout v A .
Ceci se fait par recurrence :
f (u . ) = f (u)
(u . = u)
(e est neutre pour )
= f (u) e
(par (1) cidessus)
= f (u) f ()
Supposons que f (u . v) = f (u) f (v) et soit x A :
f (u .(vx)) = f ((u . v)x)
(u .(ux) = (u . v)x)
(par (2) cidessus)
= f (u . v) f (x)
= (f (u) f (v)) f (x)
(HR)
(associativite de )
= f (u) (f (v) f (x))
= f (u) f (vx)
(par (2) cidessus)
2002
Les langages.
Section 5
27
Int
er
et de la propri
et
e principale.
D`es que A nest pas vide, A est inni, meme lorsque A est
ni, ce qui sera le cas dans toutes nos applications.
Vocabulaire et convention.
Nous dirons que lapplication f cidessus est lextension de
f aux mots et, en nous inspirant de lidentication A `
a une
partie de A , nous la noterons simplement f : la propriete
precedente nous le permet !
Les langages.
2002
28
Chapitre 1
6 Les substitutions.
Les substitutions jouent un grand r
ole.
6.1 Extension aux langages.
La somme (generalisee) est la reunion notee additivement :
pour tout ensemble I dindices et toute famille (Li )iI de
langages sur A,
Li designe la somme des membres de
iI
iI
L=
uL
Applications pr
eservant les sommes
Une application f : P(A ) P(B ) preserve les sommes
ssi on a
Li ) =
f(
iI
f (Li )
iI
2002
Les langages.
Section 6
29
Remarques et propri
et
es imm
ediates.
Soit f : P(A ) P(B ) une application preservant les
sommes.
f (L) =
f (u) pour tout L A puisque L =
u.
uL
uL
M A , L M implique f (L) f (M ).
a partir de f par
Or, ceci denit enti`erement f `
f (L) =
f (u)
uL
Les langages.
2002
30
Chapitre 1
Vocabulaire et convention.
Lapplication f cidessus est appelee lextension de f aux
langages et, est notee simplement f .
v f (L) ssi il existe u L tel que v f (u).
Application.
Soit f : A P(B ) une substitution.
Par ce qui prec`ede :
f admet une extension unique aux mots
f : A P(B )
qui est un morphisme de monodes
(A , ., ) (P(B ), ., )).
Cette derni`
ere admet `a son tour une extension unique
aux langages
f : P(A ) P(B )
cette extension est encore un morphisme de monodes
f : (P(A ), ., ) (P(B ), ., ).
Plus explicitement :
f () = ,
f (LM ) = f (L)f (M ),
2002
Les langages.
Section 6
31
Exemple.
Une propriete comme (L + M ) = (L M ) est assez
delicate `a demontrer directement lorsque L et M sont des
langages quelconques.
Demontrer que lon a (a + b) = (a b ) lorsque a et b
sont des caract`eres, est beaucoup plus facile a` concevoir
et `a ecrire ; cette preuve est cependant susante pour
obtenir le cas general : il sut de considerer lapplication
f : a + b P(A ) telle que f (a) = L et f (b) = M et
dappliquer la substitution quelle denit aux deux membres
de legalite precedente.
R
esumons :
Extension dune substitution aux langages
Toute substitution f : A P(B ) setend de facon unique
en une application f : P(A ) P( B ) qui verie les deux
proprietes :
f preserve les sommes generalisees,
f est un morphisme de monodes
(P(A ), ., ) (P(B ), ., ).
f est appelee lextension de f aux langages et est le plus
souvent notee f .
Les langages.
2002