Download - PL Suport Examen An2
1. Algebre multisortate
Signaturi multisortate. Multimi si functii multisortate.
• O signatura multisortata este o pereche (S,Σ), unde S 6= ∅ este o multime de sorturi si Σ este o multime de simboluri deoperatii σ : s1s2 . . . sn → s. Daca n = 0, atunci σ :→ s este simbolul unei constante.
Fixam o multime de sorturi S.
• O multime S-sortata este o familie de multimi A = {As}s∈S .• O functie S-sortata f : A → B este o familie de functii f = {fs}s∈S , unde fs : As → Bs, pt. or. s ∈ S. Daca f : A → B si
g : B → C, definim compunerea f ; g : A→ C, (f ; g)s(a) = gs(fs(a)), or. a ∈ As.• O functie S-sortata f : A → B este injectiva, (surjectiva, bijectiva) daca fs este injectiva, (surjectiva, bijectiva), or. s ∈ S.
O functie S-sortata f = {fs}s∈S : A→ B este inversabila daca exista g : B → A astfel ıncat f ; g = 1A si g; f = 1B .
Propozitie 1. O functie S-sortata f : A→ B este inversabila ⇔ este bijectiva.
Algebre multisortate.
• O algebra multisortata de tip (S,Σ) este A = (AS , AΣ) unde AS = {As}s∈S este o multime S-sortata si AΣ = {Aσ}σ∈Σ este
o familie de operatii astfel ıncat
– daca σ : s1 . . . sn → s ın Σ, atunci Aσ : As1 × . . .×Asn → As.– daca σ : → s ın Σ, atunci Aσ ∈ As.
Morfisme de algebre multisortate.
• Un morfism de (S,Σ)-algebre h : A → B este o functie S-sortata h = {hs}s∈S : {As}s∈S → {Bs}s∈S care verifica conditia
de compatibilitate:
– hs(Aσ) = Bσ , or. σ :→ s ∈ Σ,– hs(Aσ(a1, . . . , an)) = Bσ(hs1 (a1), . . . , hsn (an)), or. σ : s1 . . . sn → s ∈ Σ si or. a1 ∈ As1 , . . . , an ∈ Asn .
Propozitie 2. Compunerea a doua Σ-morfisme este un Σ-morfism.
Izomorfisme de algebre multisortate.
• Un Σ-morfism h : A → B se numeste izomorfism daca exista un Σ-morfism g : B → A astfel ıncat h; g = 1A si g;h = 1B .Deoarece g este unic, se noteaza cu h−1.
• Doua Σ-algebre A si B sunt izomorfe (A ' B) daca exista un izomorfism f : A → B.
Propozitie 3. Fie h : A → B un Σ-morfism. Atunci h este izomorfism ⇔ este functie S-sortata bijectiva.
Propozitie 4. Compunerea a doua izomorfisme f : A → B si g : B → C este un izomorfism. Mai mult, (f ; g)−1 = g−1; f−1.
Parti stabile si subalgebre. Fixam (S,Σ) o signatura multisortata si A = (AS , AΣ) o (S,Σ)-algebra.
• O submultime BS a lui AS se numeste parte stabila a lui AS daca Aσ ∈ Bs, or. σ :→ s din Σ si Aσ(b1, . . . , bn) ∈ Bs, or.σ : s1 . . . sn → s din Σ si or. b1 ∈ Bs1 , . . . , bn ∈ Bsn .
• O (S,Σ)-algebra B = (BS , BΣ) este subalgebra a lui A = (AS , AΣ) daca BS ⊆ AS , Bσ = Aσ , or. σ :→ s din Σ, si
Bσ(b1, . . . , bn) = Aσ(b1, . . . , bn), or. σ : s1 . . . sn → s din Σ si or. b1 ∈ Bs1 , . . . , bn ∈ Bsn .• Subalgebra generata de X ın A este cea mai mica subalgebra B = (BS , BΣ) a lui A astfel ıncat X ⊆ BS . Notam B cu
X = (XS , XΣ). X este multime de generatori pentru A = (AS , AΣ) daca X ⊆ AS si X = A.
• Constructia subalgebrei generate:
– X0 := X,
– Xm+1s := Xm
s ∪ {Aσ | σ :→ s ∈ Σ} ∪ {Aσ(a1, . . . , an) | σ : s1 . . . sn → s ∈ Σ, a1 ∈ Xms1, . . . , an ∈ Xm
sn}.
Propozitie 5. Subalgebra generata de X ın A este X = (XS , XΣ), unde
(1) XS =⋃m∈NX
m,
(2) Xσ := Aσ, or. σ :→ s din Σ,
(3) Xσ(a1, . . . , an) := Aσ(a1, . . . , an), or. σ : s1 . . . sn → s din Σ si or. a1 ∈ Xs1 , . . . , an ∈ Xsn .
• Imaginea inversa a unei functii h : A → B este h−1 : P(B) → P(A), h−1(Y ) := {a ∈ A | h(a) ∈ Y }. Fie h : A → B unΣ-morfism. Daca C = (CS , CΣ) este o subalgebra a lui A, atunci definim Σ-algebra h(C) = (h(C)S , h(C)Σ):
– h(C)S := h(CS)
– h(C)σ := hs(Cσ), or. σ :→ s din Σ,– h(C)σ(hs1 (c1), . . . , hsn (cn)) := hs(Cσ(c1, . . . , cn)), or. σ : s1 . . . sn → s ∈ Σ si c1 ∈ Cs1 , . . . , cn ∈ Csn .
Propozitie 6. Fie h : A → B un Σ-morfism.
(1) Daca C este subalgebra a lui A, atunci h(C) este subalgebra a lui B.(2) Daca D este subalgebra a lui B, atunci h−1(D) este subalgebra a lui A.
(3) h(X ) = h(X ), pentru X ⊆ AS ,
(4) h−1(Y) ⊆ h−1(Y), pentru Y ⊆ BS .
2
Termeni. Algebre de termeni.
• O multime de variabile este o multime S-sortata X = {Xs}s∈S astfel ıncat Xs ∩ Xs′ = ∅, or. s, s′ ∈ S, s 6= s′, Xs ∩{σ}σ:s1...sn→s∈Σ = ∅ si Xs ∩ {σ}σ:→s∈Σ = ∅.
• Multimea S-sortata a termenilor cu variabile din X, TΣ(X), este cea mai mica multime de siruri finite peste alfabetulL =
⋃s∈S Xs ∪
⋃w,s Σw,s ∪ {(, )} ∪ {, } care verifica:
– X ⊆ TΣ(X),
– daca σ :→ s ın Σ, atunci σ ∈ TΣ(X)s,
– daca σ : s1 . . . sn → s ın Σ si ti ∈ TΣ(X)si , or. 1 ≤ i ≤ n, atunci σ(t1, . . . , tn) ∈ TΣ(X)s.• Inductia pe termeni: Fie P o proprietate astfel ıncat:
– pasul initial: P(x) = true, or. x ∈ X, si P(σ) = true, or. σ :→ s.
– pasul de inductie: pt. or. σ : s1 . . . sn → s si or. t1 ∈ TΣ(X)s1 , . . . , tn ∈ TΣ(X)sn , daca P(t1) = . . . = P(tn) = true,atunci P(σ(t1, . . . , tn)) = true.
Atunci P(t) = true, oricare t ∈ TΣ(X).
• Multimea S-sortata a termenilor TΣ(X) este o (S,Σ)-algebra, numita algebra termenilor cu variabile din X, cu operatiiledefinite astfel: pt. or. σ :→ s din Σ, operatia corespunzatoare este Tσ := σ ∈ TΣ(X)s si pt. or. σ : s1 . . . sn → s din
Σ, operatia corespunzatoare este Tσ : TΣ(X)s1...sn → TΣ(X)s, Tσ(t1, . . . , tn) := σ(t1, . . . , tn), or. t1 ∈ TΣ(X)s1 , . . . , tn ∈TΣ(X)sn . TΣ algebra termenilor fara variabile (X = ∅).
Algebra initiala.
• O (S,Σ)-algebra I este initiala ıntr-o clasa de (S,Σ)-algebre K daca pentru orice B ∈ K, exista un unic (S,Σ)-morfismf : I → B.
Propozitie 7.
(1) Daca I este initiala ın K si A ∈ K astfel ıncat A ' I, atunci A este initiala ın K.
(2) Daca A1 si A2 sunt initiale ın K, atunci A1 ' A2.
Teorema 1. Pentru orice (S,Σ)-algebra B, exista un unic morfism f : TΣ → B.
Corolar 1. TΣ este (S,Σ)-algebra initiala.
Tipuri abstracte de date.
• Un tip abstract de date este o clasa C de (S,Σ)-algebre cu proprietatea ca oricare doua (S,Σ)-algebre din C sunt izomorfe.
• I(S,Σ) = {I | I (S,Σ)-algebra initiala} este un tip abstract de date.
Algebre libere.
• O (S,Σ)-algebra A = (AS , AΣ) este liber generata de X daca X ⊆ AS si pt. orice (S,Σ)-algebra B = (BS , BΣ) si orice functie
S-sortata f : X → BS , exista un unic (S,Σ)-morfism f : A → B a.ı. f �X= f.
Teorema 2. Daca A si B sunt liber generate de X, atunci A ' B.
Teorema 3. Fie B = (BS , BΣ) o (S,Σ)-algebra. Orice functie S-sortata e : X → BS se extinde unic la un (S,Σ)-morfism e :TΣ(X)→ B.
Corolar 2. TΣ(X) este (S,Σ)-algebra liber generata de X.
Propozitie 8. Fie h : A → B un (S,Σ)-morfism surjectiv si X o multime de variabile. Pentru orice (S,Σ)-morfism f : TΣ(X)→ B,
exista un (S,Σ)-morfism g : TΣ(X)→ A astfel ıncat g;h = f .
Propozitie 9. Fie B o (S,Σ)-algebra si X o multime de variabile. Daca f : TΣ(X) → B si g : TΣ(X) → B sunt morfisme, atunci
g = f ⇔ g �X= f �X .
Propozitie 10. Daca X ' Y , atunci TΣ(X) ' TΣ(Y ).
Algoritmul de unificare.
• O substitutie a variabilelor din X cu termeni din TΣ(Y ) este o functie S-sortata τ : X → TΣ(Y ).
• Un unificator pentru U este o substitutie ν : X → TΣ(X) a.ı. ν(ti) = ν(t′i), or. i = 1, . . . , n.
• Un unificator ν pentru U este un cel mai general unificator daca pentru orice alt unificator ν′ pentru U , exista o substitutieµ astfel ıncat ν′ = ν;µ.
Lista solutie Lista de rezolvat
S R
Initial ∅ t1·= t′1, . . . , tn
·= t′n
SCOATE S R′, t·= t
S R′
DESCOMPUNE S R′, f(t1, . . . , tn)·= f(t′1, . . . , t
′n)
S R′, t1·= t′1, . . . tn
·= t′n
REZOLVA S R′, x·= t sau t
·= x, x nu apare ın t
x·= t, S[x← t] R′[x← t]
Final S ∅
3
Congruente.
• O relatie S-sortata ≡= {≡s}s∈S ⊆ AS × AS este o congruenta daca ≡s⊆ As × As este echivalenta, or. s ∈ S, si ≡ estecompatibila cu operatiile: pt. or. σ : s1 . . . sn → s si or. ai, bi ∈ Asi , i = 1, . . . , n, ai ≡si bi, or. i = 1, . . . , n ⇒Aσ(a1, . . . , an) ≡s Aσ(b1, . . . , bn).
• Fie A o (S,Σ)-algebra si ≡ o congruenta pe A. Definim:
– [a]≡s := {a′ ∈ As | a ≡s a′} (clasa de echivalenta a lui a) si As/≡s := {[a]≡s | a ∈ As}, or. s ∈ S.
– algebra cat a lui A prin congruenta ≡ notata A/≡: A/≡ := {As/≡s} cu operatiile: (A/≡)σ := [Aσ ]≡s , or. σ :→ s, si(A/≡)σ([a1]≡s1
, . . . , [an]≡sn) := [Aσ(a1, . . . , an)]≡s , or. σ : s1 . . . sn → s si a1 ∈ As1 , . . . , an ∈ Asn .
– [·]≡ : A → A/≡, a 7→ [a]≡s , or. a ∈ As, morfism surjectiv. Avem [a]≡s = [b]≡s ⇔ a ≡s b⇔ (a, b) ∈≡s.• Daca f : A → B un morfism de (S,Σ)-algebre, nucleul lui f este Ker(f) = {Ker(fs)}s∈S , unde Ker(fs) := {(a, a′) ∈As ×As | fs(a) = fs(a′)}, or. s ∈ S.
Propozitie 11.
(1) Ker(f) este o congruenta pe A.
(2) Daca ≡ este o congruenta pe A, atunci Ker([·]≡) =≡.
Teorema 4 (Proprietatea de universalitate a algebrei cat). Pentru orice (S,Σ)-algebra B si pentru orice morfism h : A → B a.ı.
≡⊆ Ker(h), exista un unic morfism h : A/≡ → B a.i. [·]≡;h = h.
Propozitie 12. Fie K o clasa de (S,Σ)-algebre. Daca ≡K:=⋂{Ker(h) | h : TΣ → B ∈ K morfism}, atunci urmatoarele proprietati
sunt adevarate:
(1) ≡K este congruenta pe TΣ,
(2) pt. or. B ∈ K, exista un unic morfism h : TΣ/≡K → B.
Ecuatii. Relatia de satisfacere.
• O (S,Σ)-ecuatie (∀X)t·=s t′ este formata dintr-o multime de variabile X si doi termeni t, t′ ∈ TΣ(X)s.
• O (S,Σ)-algebra A = (AS , AΣ) satisface o ecuatie (∀X)t·=s t′
– daca pentru orice functie S-sortata e : X → AS , es(t) = es(t′).– daca pentru orice morfism f : TΣ(X)→ A, fs(t) = fs(t′).
• O (S,Σ)-ecuatie conditionata (∀X)t·=s t′ if H este formata dintr-o multime de variabile X, doi termeni de acelasi sort
t, t′ ∈ TΣ(X)s si o multime H de ecuatii u·=s′ v, cu u, v ∈ TΣ(X)s′ .
• O (S,Σ)-algebra A = (AS , AΣ) satisface o ecuatie conditionata (∀X)t·=s t′ if H
– daca pentru orice functie S-sortata e : X → AS , es′ (u) = es′ (v), or. u·=s′ v ∈ H ⇒ es(t) = es(t′).
– daca pentru orice morfism f : TΣ(X)→ A, fs′ (u) = fs′ (v), or. u·=s′ v ∈ H ⇒ fs(t) = fs(t′).
Γ-algebre.
• Daca Γ este o multime de ecuatii conditionate, o (S,Σ)-algebra A este o Γ-algebra daca A |= γ, or. γ ∈ Γ. Notam cuAlg(S,Σ,Γ) clasa tuturor Γ-algebrelor.
Teorema 5. Fie A si B doua (S,Σ)-algebre a.ı. A ' B si γ := (∀X)t·=s t′ if H. Atunci A |= γ ⇔ B |= γ.
• O ecuatie conditionata θ este consecinta semantica a lui Γ daca A |= Γ implica A |= θ, pentru orice (S,Σ)-algebra A.• O congruenta ≡ pe A este ınchisa la substitutie daca
CS(Γ,A)or. (∀X)t
·=s t′ if H ∈ Γ, or. e : X → AS
es′ (u) ≡s′ es′ (v), or. u·=s′ v ∈ H ⇒ es(t) ≡s es(t′).
Propozitie 13. Daca ≡ este o congruenta pe A ınchisa la substitutie, atunci A/≡ |= Γ.
• Pentru Γ si A = (AS , AΣ), definim ≡Γ,A :=⋂{Ker(h) | h : A → B, B |= Γ}. Daca A = TΣ(X), notam ≡Γ,TΣ(X) cu ≡Γ.
Avem t ≡Γs t′ ⇔ Γ |= (∀X)t
·=s t′.
Propozitie 14. ≡Γ,A este o congruenta pe A ınchisa la substitutie.
Propozitie 15. ≡Γ,A este cea mai mica congruenta pe A ınchisa la substitutie.
Teorema 6. TΣ/≡Γ,TΣeste Γ-algebra initiala.
Specificatii algebrice.
• O specificatie algebrica este un triplet (S,Σ,Γ), unde (S,Σ) este o signatura multisortata si Γ este o multime de ecuatii
conditionate. Specificatia (S,Σ,Γ) defineste clasa modelelor Alg(S,Σ,Γ).• Doua specificatii (S,Σ,Γ1) si (S,Σ,Γ2) sunt echivalente daca definesc aceeasi clasa de modele.
• O specificatie (S,Σ,Γ) este adecvata pentru A daca A este Γ-algebra initiala, i.e. A ∈ I(S,Σ,Γ).
2. Logica ecuationala
Deductie ecuationala - cazul neconditionat.
• E multime de ecuatii neconditionate
4
R(∀X)t
·=s t
S(∀X)t1
·=s t2
(∀X)t2·=s t1
T(∀X)t1
·=s t2, (∀X)t2
·=s t3
(∀X)t1·=s t3
CΣ(∀X)t1
·=s1 t
′1, . . . , (∀X)tn
·=sn t′n
(∀X)σ(t1, . . . , tn)·=s σ(t′1, . . . , t
′n)
, unde σ : s1 . . . sn → s ∈ Σ
SubE (∀X)θ(t)·=s θ(t′)
, (∀Y )t·=s t′ ∈ E si θ : Y → TΣ(X)
• Ecuatia ε := (∀X)t·=s t′ se deduce din E daca ex. o secventa ε1, . . . , εn a.ı. εn = ε si pt. or. 1 ≤ i ≤ n:
– εi ∈ E sau
– εi se obtine din ε1, . . . , εi−1 aplicand una din reg. R, S, T, CΣ, SubE .
Deductie ecuationala - cazul conditionat.
• Γ multime de ecuatii conditionate
R(∀X)t
·=s t
S(∀X)t1
·=s t2
(∀X)t2·=s t1
T(∀X)t1
·=s t2, (∀X)t2
·=s t3
(∀X)t1·=s t3
CΣ(∀X)t1
·=s1 t
′1, . . . , (∀X)tn
·=sn t′n
(∀X)σ(t1, . . . , tn)·=s σ(t′1, . . . , t
′n)
, unde σ : s1 . . . sn → s ∈ Σ
SubΓ(∀X)θ(u1)
·=s1 θ(v1), . . . , (∀X)θ(un)
·=sn θ(vn)
(∀X)θ(t)·=s θ(t′)
, unde (∀Y )t·=s t′ if {u1
·=s1 v1, . . . , un
·=sn vn} ∈ Γ, θ : Y → TΣ(X).
• Ecuatia ε := (∀X)t·=s t′ se deduce din Γ daca ex. o secventa ε1, . . . , εn a.ı. εn = ε si pt. or. 1 ≤ i ≤ n:
– εi ∈ Γ sau
– εi se obtine din ε1, . . . , εi−1 aplicand una din reg. R, S, T, CΣ, SubΓ.
Corectitudinea logicii ecuationale.
• O regula de deductieε1, . . . , εn
εeste corecta daca Γ |= ε1, . . . ,Γ |= εn ⇒ Γ |= ε.
Propozitie 16. Regulile de deductie R, S, T, CΣ, SubΓ sunt corecte.
Teorema 7 (Corectitudinea deductiei). Γ ` (∀X)t·=s t′ ⇒ Γ |= (∀X)t
·=s t′.
Completitudinea logicii ecuationale.
• O relatie binara∼⊆ TΣ(X)×TΣ(X) este ınchisa la regula Reg(∀X)t1
·=s1 t
′1, . . . , (∀X)tn
·=sn t′n
(∀X)t·=s t′
daca t1 ∼s1 t′1, . . . , tn ∼sn
t′n ⇒ t ∼s t′.
Propozitie 17. Sunt echivalente:
(1) ∼ este congruenta pe TΣ(X),
(2) ∼ este ınchisa la R, S, T, CΣ.
Propozitie 18. Sunt echivalente:
(1) ∼ verifica CS(Γ, TΣ(X)) (i.e. ınchisa la substitutie),(2) ∼ este ınchisa la SubΓ.
• Definim t ∼Γs t′ ⇔ Γ ` (∀X)t
·=s t′, or. s ∈ S.
Propozitie 19. ∼Γ este o congruenta pe TΣ(X) ınchisa la substitutie.
Teorema 8 (Completitudinea deductiei). Γ |= (∀X)t·=s t′ ⇒ Γ ` (∀X)t
·=s t′.
Teorema de completitudine.
• Echivalenta sintactica: t ∼Γs t′ ⇔ Γ ` (∀X)t
·=s t′.
• Echivalenta semantica: t ≡Γs t′ ⇔ Γ |= (∀X)t
·=s t′.
• Corectitudinea deductiei: ∼Γ⊆≡Γ.
• Completitudinea deductiei: ≡Γ⊆∼Γ.
Teorema 9 (Teorema de completitudine). Γ |= (∀X)t·=s t′ ⇔ Γ ` (∀X)t
·=s t′ (≡Γ=∼Γ)
5
3. Rescrierea termenilor
Contexte.
• nry(t) = numarul de aparitii ale lui y ın t
• Fie z a.ı. z /∈ X. Un termen c ∈ TΣ(X ∪ {z}) se numeste context daca nrz(c) = 1.• Daca t0 ∈ TΣ(X) si t0 are acelasi sort cu z, definim substitutia {z ← t0} : X ∪ {z} → TΣ(X), prin {z ← t0}(x) ={
t0, daca x = zx, altfel
. Pentru un context c ∈ TΣ(X ∪ {z}), notam c[z ← t0] := {z ← t0}(c).
Sistem de rescriere.
• O regula de rescriere l→s r (peste Y ) este formata din l, r ∈ TΣ(Y )s astfel ıncat l nu este variabila si V ar(r) ⊆ V ar(l) = Y .
• Un sistem de rescriere (TRS) este o multime finita de reguli de rescriere.• Daca R este un sistem de rescriere, pentru t, t′ ∈ TΣ(X)s definim relatia t→R t′ astfel:
t→R t′ ⇔ t este c[z ← θs(l)] si
t′ este c[z ← θs(r)], unde
c ∈ TΣ(X ∪ {z}) context,
l→s r ∈ R cu V ar(l) = Y ,
θ : Y → TΣ(X) substitutie
• Daca E este o multime de ecuatii astfel ıncat, pt. or. (∀Y )l·=s r ∈ E, l /∈ Y (nu este variabila) si V ar(r) ⊆ V ar(l) = Y ,
definim sistemul de rescriere determinat de E RE := {l →s r | (∀Y )l·=s r ∈ E}. Notam relatia de rescriere generata de
RE prin →E := →RE.
Logica ecuationala si rescrierea termenilor.
• E multime de ecuatii neconditionate: SRE (∀X)c[z ← θ(t)]·=s′ c[z ← θ(t′)]
, unde
(∀Y )t·=s t′ ∈ E, θ : Y → TΣ(X), c ∈ TΣ(X ∪ {z})s′ , z /∈ X, nrz(c) = 1.
• Γ multime de ecuatii conditionate: SRΓ(∀X)θ(u1)
·=s1 θ(v1), . . . , (∀X)θ(un)
·=sn θ(vn)
(∀X)c[z ← θ(t)]·=s′ c[z ← θ(t′)]
, unde
(∀Y )t·=s t′ if {u1
·=s1 v1, . . . , un
·=sn vn} ∈ Γ, θ : Y → TΣ(X), c ∈ TΣ(X ∪ {z})s′ , z /∈ X, nrz(c) = 1.
Propozitie 20. SRΓ este regula de deductie corecta.
Teorema 10. Sunt echivalente:
(1) Γ `R,S,T,CΣ,SubΓ(∀X)t
·=s t′,
(2) Γ `R,S,T,SRΓ(∀X)t
·=s t′.
Teorema 11. E ` (∀X)t·=s t′ ⇔ t
∗↔E t′.
Sisteme de rescriere abstracte.
• Un sistem de rescriere abstract este o pereche (T,→) unde T este o multime si →⊆ T × T .
• t ∈ T este reductibil daca exista t′ ∈ T a.ı. t→ t′.• t ∈ T este ın forma normala (ireductibil) daca nu este reductibil.
• t0 este o forma normala a lui t daca t∗→ t0 si t0 este ın forma normala.
• t1 si t2 se intalnesc (t1 ↓ t2) daca exista t ∈ T a.ı. t1∗→ t
∗← t2.• (T,→) se numeste
– noetherian: daca nu exista reduceri infinite t0 → t1 → t2 → . . ..
– confluent: t1∗← t
∗→ t2 ⇒ t1 ↓ t2.
– local confluent: t1 ← t→ t2 ⇒ t1 ↓ t2.
– Church-Rosser: t1∗↔ t2 ⇒ t1 ↓ t2.
– normalizat: orice element are o forma normala.– complet (convergent, canonic): confluent si noetherian.
Propozitie 21. Fie (T,→) sistem de rescriere. Daca t ↓ t′, atunci t∗↔ t′.
Propozitie 22. Daca (T,→) este un sistem de rescriere noetherian, atunci orice element are o forma normala.
Propozitie 23. Daca (T,→) este un sistem de rescriere complet, atunci orice element are o unica forma normala.
Propozitie 24. Un sistem de rescriere este confluent ddaca este Church-Rosser.
Propozitie 25. Daca (T,→) este un sistem de rescriere confluent, atunci este local confluent.
Propozitie 26. Daca (T,→) este un sistem de rescriere noetherian si local confluent, atunci este confluent.
Propozitie 27. Fie (T,→) sistem de rescriere complet. Atunci t∗↔ t′ ⇔ fn(t) = fn(t′).
Corolar 3. Daca sistemul de rescriere (TΣ(X), RE) este complet, atunci E ` (∀X)t·=s t′ ⇔ t
∗↔E t′ ⇔ fn(t) = fn(t’).
6
Terminarea sistemelor de rescriere. Fie (S,Σ) o signatura, Y multime de variabile si R un TRS.
Propozitie 28 (*). Sunt echivalente:
(1) R este noetherian,(2) oricarui termen t ıi poate fi asociat un numar natural µ(t) ∈ N astfel ıncat t→R t′ implica µ(t) > µ(t′).
• Ordine de reducere: t > t′ ddaca µ(t) > µ(t′)• Arborele de reducere al termenului t este definit astfel:
– radacina arborelui are eticheta t,
– descendentii nodului cu eticheta u sunt etichetati cu termenii u′ care verifica u→R u′.Daca R se termina, atunci µ(t) := ınaltimea arborelui de reducere asociat lui t.
Confluenta si perechi critice. Fie (S,Σ) o signatura, Y multime de variabile si R un TRS.
• Fie l1 → r1, l2 → r2 ∈ R astfel ıncat:
(1) V ar(l1) ∩ V ar(l2) = ∅,(2) exista t un subtermen al lui l1 care nu este variabila
(l1 = c[z ← t], unde nrz(c) = 1, t nu este variabila)
(3) exista θ c.g.u pentru t si l2 (i.e. θ(t) = θ(l2)).Perechea (θ(r1), θ(c)[z ← θ(r2)]) se numeste pereche critica.
θ(l1)
θ(r1) θ(c)[z ← θ(r2)]R R
Teorema 12 (Teorema Perechilor Critice ∗). Daca R este noetherian, atunci sunt echivalente:
(1) R este confluent,
(2) t1 ↓R t2 pentru orice pereche critica (t1, t2).
Algoritmul Knuth-Bendix.
• INTRARE: R un sistem de rescriere (TRS) noetherian.
• INITIALIZARE: T := R si > ordine de reducere pentru T
• Se executa urmatorii pasi, cat timp este posibil:(1) CP := CP(T) = {(t1, t2) | (t1, t2) pereche critica ın T}(2) Daca t1 ↓ t2, oricare (t1, t2) ∈ CP , atunci STOP (T completarea lui R).(3) Daca (t1, t2) ∈ CP , t1 6↓ t2 atunci:
– daca fn(t1) > fn(t2) atunci T := T ∪ {fn(t1)→ fn(t2)},– daca fn(t2) > fn(t1) atunci T := T ∪ {fn(t2)→ fn(t1)},– altfel, STOP (completare esuata).
• IESIRE: T completarea lui R sau esec.
4. Programare logica
• (S,Σ) signatura multisortata, Γ multime de ecuatii conditionate, G o multime de ecuatii de forma (∀X)t·=s t′, t, t′ ∈ TΣ(X).
• Problema programarii logice ecuationale: Γ |= (∃X)G.
• Γ |= (∃X)G: or. A a.ı. A |= Γ, A |= (∃X)G.
• A |= (∃X)G: exista un morfim h : TΣ(X)→ A a.ı. hs(t) = hs(t′), or. (∀X)t·=s t′ ∈ G.
Teorema 13 (Teoremele lui Herbrand). Fie G o multime de ecuatii de forma (∀X)t·=s t′, t, t′ ∈ TΣ(X). Sunt echivalente:
(1) Γ |= (∃X)G,(2) TΣ,Γ |= (∃X)G,
(3) exista un morfism ψ : TΣ(X)→ TΣ a.ı. Γ |= (∀∅)ψ(G).