TD 4 : Langages algébriques

Énoncé

EX 1

1.

SaSabSb𝜀

2.

SUbaTTaTbaT𝜀UaUbUb𝜀
SaABbAaACBBbCCaCb𝜀

3.

SABC𝜀AaAb𝜀BbB𝜀CbCc𝜀

4.

SaSbaSbb𝜀

EX 2

1.

D1L :

Vu en prépa : on montre par induction structurelle (i.e : par induction structurelle sur la longueur minimale d’une dérivation SG1𝜀) que : tout préfixe de wD1 a plus de parenthèses ouvrantes que de parenthèses fermantes.

  • Si w=𝜀 : immédiat
  • Sinon, si Sa1Sa1Sw, alors il existe w1,w2 tq Sw1,Sw2 et w=a1w1a1w2 : on conclut car par hypothèse d’induction : w1,w2D1

LD1 :

Si wL, par induction sur la taille de w :

  • Si w=𝜀 : OK
  • Si |w|>0 :

Comme, par hypothèse,

|w[1]|a1|w[1]|a1

alors w[1]=a1, et

wa1w1a1w2

a1w1a1 est le plus petit préfixe ayant autant de parenthèses ouvrantes que fermantes.

On vérifie aisément que

  • a1w1a1L

  • et donc, par suite, que : w2L (il a autant de parenthèses ouvrantes que fermantes car c’est le cas de w et de a1w1a1, et on vérifie que tous ses préfixes ont plus de parenthèses ouvrantes que fermantes car a1w1a1 a autant de parenthèses ouvrantes que fermantes)

2.

DnL :

Preuve par induction structurelle :

  • Si w=𝜀 : OK
  • Sinon, si Sa1Sa1Sw, alors il existe w1,w2 tq Sw1,Sw2 et w=aiw1aiw2,
wRnw1w2Rn𝜀w2Rn𝜀𝜀Rn𝜀

LDn :

Par induction sur la taille de la dérivation wRn𝜀 :

  • Si w=𝜀 : OK

  • Si $w ⟶{R_n} a_i \overline{a_i} ⟶^\ast{R_n} 𝜀$ :

wwaiwaiw , où

w,w,wDn par hypothèse d’induction.

Or, il vient par définition de la grammaire que

aiwaiwDn

Et comme wDn, il vient que

wwaiwaiwDn

(on montre aisément que Dn est clos par concaténation)

EX 3

1.

G1N1,𝛴1,P1,S1G2N2,𝛴2,P2,S2

On indice les symboles non terminaux de la première (resp. la deuxième) grammaire par 1 (resp. 2), et on ajoute la règle :

SS1S2 GN1N2{S},𝛴1𝛴2,P1P2{SS1S2},S

2.

SSS1𝜀 GN1{S},𝛴1,P1{SSS1,S𝜀},S

3.

SS1S2 GN1N2{S},𝛴1𝛴2,P1P2{SS1,SS2},S

4.

GN1,𝛴1,P1~,S1

P1~={X𝛼~X𝛼P}

5.

Pour a𝛴, soit

GaNa,𝛴,Pa,Sa

une grammaire qui reconnaît 𝜎(a)

GN,𝛴,P,S

pour L

G=Na𝛴Na𝛴,𝛴,PaAPa{aSa},S

EX 4

Soit C un ensemble de clauses de HORN.

On construit GN,𝛴,P,S tq :

C satisfaisable L(G)=

À chaque clause

B1BnA

Soit

C{XX1XnCX}{SX1XnX1Xn}{S}
  • NV{S}
  • 𝛴
  • P{XX1XnXX1XnC}

Supposons que L(G)= :

Soit

𝜈:X{1 si X𝜀0 sinon
Montrons que 𝜈C :
  • 𝜈S car L(G)

  • Soit XX1XnC

    • Si i;𝜈(Xi)=0,𝜈XX1Xn
    • Sinon : XiG𝜀 pour tout i

      Donc XX1Xn𝜀 et on conclut

Supposons que C est sastisfaisable

Soit 𝜈 tq 𝜈C.

Mq pour tout X tq XG𝜀, 𝜈(X)=1

Par réc sur la longueur minimale d’une dérivation X𝜀

  • Si X𝜀, alors XC

  • Sinon XX1Xn𝜀

    Donc pour tout i, Xi𝜀 et par HR:

    • 𝜈(Xi)=1
    • 𝜈X1Xn et 𝜈XX1Xn, donc 𝜈(X)=1

Donc on ne peut pas avoir L(G) car sinon S𝜀 (d’où 𝜈(S)=1), et L(G)=

Leave a comment