Chapitre
3 
Solution
de l'exercice 6.1 
Montrer que les langages suivants ne sont pas rationnels :
- {anbp :
n < p} , A={a,b}
- Démonstration par le lemme
de l'étoile : Prenons un entier N suffisamment grand. Pour
tout mot z du langage tel que |z|≥N, il existe u, v,
w de A* tels que z=uvw, |v|>0, |uv|≤N alors, normalement,
pour tout entier i le mot uviw est dans {anbp
: n < p} (?)
- Le mot qui fait mal ! Prenons le mot z=aNbN+k avec
k≥1
- Si z=uvw alors u=ap, v=aq avec q>0 et w=aN-(p+q)bN+k
- Donc z = ap aq aN-(p+q)bN+k
- uviw = ap (aq)i aN-(p+q)bN+k
= aN (aq)i-1 bN+k = aN+q(i-1)
bN+k
- Or pour tout i > 1+k/q uviw n'est plus dans {anbp
: n < p} car alors N+(i-1)q > N+k ! Donc il ne vérifie pas
le lemme de l'étoile et donc il
n'est pas rationnel ! CQFD
- {(an)n} = {ap : p = n2}
= {an^2}, c'est-à-dire les mots composés de
"a" et dont la longueur est un carré.
- Démonstration par le lemme
de l'étoile : Prenons un entier N suffisamment grand. Pour
tout mot z du langage tel que |z|≥N, il existe u, v,
w de A* tels que z=uvw, |v|>0, |uv|≤N alors, normalement,
pour tout entier i le mot uviw est dans {an^2}
(?)
- Soit N=m2, Prenons le mot z=a(m+1)^2 = a2maam^2
(car (a+b)2 = a2+2ab+b2)
- Si z=uvw alors u=a2m, v=a et w=am^2
- |uv| < N si m >= 1+racine(2),
- Donc z = a2maam^2
- uviw = a2maiam^2
- Or pour i = 2 uviw n'est plus dans {an^2} car alors
2m+2+m2 n'est pas un carré ! En effet, le prochain carré
après (m+1)2 est (m+2)2=m2+4m+4.
Or m2+2m+1 < 2m+m+m2 < m2+4m+4
- Donc il ne vérifie pas le lemme de l'étoile et donc il
n'est pas rationnel ! CQFD
- L = {anbp : n ≠ p}
mardi, 9/12/03 16:08