1
T.D. N°l Techniques de compilation Exercice 1. Montrer par induction que si x y alors x n - y n est divisible par x - y pour tout n dans lN. Exercice 2. Montrer par induction que si x est un nombre non négatif alors (1 + x) n -1 - 1 > nx pour tout n dans lN. Exercice 3. On considère, sur l'alphabet X = {a,b} les suites de mots Un et Vn : n > 0 définies par récurrence comme suit : 1. Démontrer que |U n |= |V n | = 2 n , pour tout n0. 2. Démontrer que chaque U n , V n pour n 1 commence et finit par un mot de l'ensemble {ab, ba} (pas nécessairement le même). 3. En déduire qu'aucun des U n , V n ne contient aaa ou bbb comme facteur. Exercice 4. Soit X = {a,b}, on définit récursivement des mots de X* appelés TRUCS comme suit: w est un TRUCS ssi w = b ou w = W l aW 2 , avec W l et W 2 des TRUCS. On note T le langage de tous les TRUCS, 1. Calculer les TRUCS de longueur inférieur à 5. 2. Démontrer que tout TRUCS w s'écrit sous la forme w = b(ab) n pour n 0 (récurrence) 3. Démontrer que tout w = b(ab) n , pour n 0, est un TRUCS. Exercice 5. Montrer que (A* B*)* = (A U B)* = (A* U B*)* = (A* B)* A* et que (BA)* B = B(AB)* Exercice 6. Donner une définition formelle pour chacun des langages suivants: L1 = {E, xxyy, xxxyyy, } L2 = {xy, yx, xxyy, xyxy, xyyx, yyxx, yxyx} et L3 = {y, yx, xxyyy, xxxxyyyyy, xxxxxxyyyyyyy, ...}

TD1

Embed Size (px)

Citation preview

Page 1: TD1

T.D. N°l Techniques de compilation

Exercice 1. Montrer par induction que si x ≠y alors xn - yn

est divisible par x - y

pour tout n dans lN.

Exercice 2. Montrer par induction que si x est un nombre non négatif alors

(1 + x)n -1

- 1 > nx pour tout n dans lN.

Exercice 3. On considère, sur l'alphabet X = {a,b} les suites de mots Un et Vn :

n > 0 définies par récurrence comme suit :

1. Démontrer que |Un|= |Vn| = 2n, pour tout n≥0.

2. Démontrer que chaque Un, Vn pour n ≥ 1 commence et finit par un mot de

l'ensemble {ab, ba} (pas nécessairement le même).

3. En déduire qu'aucun des Un, Vn ne contient aaa ou bbb comme facteur.

Exercice 4. Soit X = {a,b}, on définit récursivement des mots de X* appelés

TRUCS comme suit: w est un TRUCS ssi w = b ou w = WlaW2, avec Wl et W2 des

TRUCS. On note T le langage de tous les TRUCS,

1. Calculer les TRUCS de longueur inférieur à 5.

2. Démontrer que tout TRUCS w s'écrit sous la forme w = b(ab)n pour n ≥ 0

(récurrence)

3. Démontrer que tout w = b(ab)n, pour n ≥ 0, est un TRUCS.

Exercice 5. Montrer que (A* B*)* = (A U B)* = (A* U B*)* = (A* B)* A* et que

(BA)* B = B(AB)*

Exercice 6. Donner une définition formelle pour chacun des langages suivants:

L1 = {E, xxyy, xxxyyy, …}

L2 = {xy, yx, xxyy, xyxy, xyyx, yyxx, yxyx} et

L3 = {y, yx, xxyyy, xxxxyyyyy, xxxxxxyyyyyyy, ...}