Sunteți pe pagina 1din 99

ECUAT

PROGRAMARE LOGICA
IONALA
editia a III-a
Virgil Emil Cazanescu
October 4, 2008

1 SIGNATURI SI ALGEBRE MULTISORTATE


Virgil Emil Cazanescu
March 6, 2008

Signaturi multisortate

In programare, mai mult dec


at n orice alt
a activitate, datele utilizate sunt de mai multe feluri, sau sorturi asa
cum vom spune n continuare. Mai mult, de cele mai multe ori, n diferitele constructii sintactice, ntr-un anumit
loc al acestora nu poate fi plasata dec
at o data de un anumit fel(sort). Aceasta ar fi explicatia faptului c
a algebrele
multisortate constituie una dintre cele mai utile unelte pentru informatica teoretica.
Algebrele la randul lor nu sunt toate la fel. Felul algebrelor este dat de signatura lor. O signatur
a are doua
componenete una pentru date si una pentru operatii.
Componenta pentru date este pur si simplu o multime S ale c
arei elemente s S se numesc sorturi.
Fiecare operatie este caracterizat
a de modul acesteia de actiune. Operatia actioneaz
a pe un anumit numar fix de
date de sorturi precizate si are rezultatul de un sort dat. Ca exemplu pentru operatia cu numele o notam cu
o : s1 s2 . . . sn s
faptul ca ea are n argumente de sorturi s1 , s2 , . . ., sn iar rezultatul acesteia este de sort s.
Toate aceste informatii privind felul algebrei sunt adunate n conceptul de signatur
a. Cu S notam multimea
sirurilor finite formate cu elemente din S.
Definitia 1.1 O signatur
a
(S, {s1 s2 ...sn ,s }s1 s2 ...sn S ,sS )
este formata dintr-o mutime S si o familie de multimi
{s1 s2 ...sn ,s }s1 s2 ...sn S ,sS .
Pentru fiecare s1 s2 . . . sn S si s S multimea s1 s2 ...sn ,s contine numele operatiilor cu n argumente de sorturi
s1 s2 . . . sn si rezultat de sort s.
Mention
am c
a multimile s1 s2 ...sn ,s pot avea elemente comune, ceea ce permite modelarea supranc
arc
arii operatorilor, adica permisiunea ca mai multe operatii sa aib
a acelas nume.
Cand nu exista pericol de confusie vom scrie pur si simplu (S, ) sau n loc de (S, {s1 s2 ...sn ,s }s1 s2 ...sn S ,sS ).

Algebre multisortate

Algebrele sunt formate n mare din date si operatii. Datele sunt de mai multe sorturi, adica pentru fiecare sort
s algebra contine o multime a datelor de sort s. Familia acestor multimi, numita si suportul algebrei, constitue o
multime sortata.

2.1

Multimi si functii multisortate

Fix
am multimea S a sorturilor.
Definitia 2.1 O familie de multimi M = {Ms }sS indexata de S se numeste multime S-sortat
a.
Observam c
a aceeasi litera este folosit
a atat pentru ntreaga multime c
at si pentru toate componentele acesteia.
Conceptele uzuale cu multimi se extind pe componente de la multimile uzuale la multimile S-sortate asa cum se
vede din exemplele de mai jos
{Ms }sS {Ns }sS daca si numai daca Ms Ns s S,
1

{Ms }sS {Ns }sS = {Ms Ns }sS ,


{Ms }sS {Ns }sS = {Ms Ns }sS ,
{Ms }sS {Ns }sS = {Ms Ns }sS .
O functie ntre doua multimi sortate duce un element din prima multime ntr-un element de acelasi sort din a
doua multime.
Definitia 2.2 O functie S-sortat
a
f : M N
este o familie de functii f = {fs }sS unde componenta de sort s este o functie uzuala fs : Ms Ns .
Ca si n cazul multimilor S-sortate, operatiile cu functiile S-sortate se fac pe componente. Dac
a f : M N si
g : N P sunt functii S-sortate atunci compunerea lor f ; g : M P este definita prin
(f ; g)s = fs ; gs .
Compunerea functiilor S-sortate este asociativ
a.
Pentru orice multime S-sortat
a M functia ei identitate 1M : M M este definita prin (1M )s = 1Ms pentru
orice s S. Functia identitate are efect neutru la compunere.

2.2

Algebre multisortate

Definitia 2.3 O -algebr


a A = ({As }sS , {A } ) este formata dintr-o multime S-sortat
a A = {As }sS si o
familie de operatii {A } . Pentru claritate, daca s1 s2 ...sn ,s , adica : s1 s2 . . . sn s, atunci
A : As1 As2 . . . Asn As .
Dac
a nu exista pericol de confuzie n loc de ({As }sS , {A } ) vom scrie mai simplu (As , A ).
Din definitia de mai sus rezulta c
a dac
a ,s unde este sirul vid din S , atunci A As . Deci operatiile
f
ara argumente, numite si constante, sunt elemente ale algebrei de sort corespunz
ator sortului rezultat.
Vom continua prin a defini pentru algebrele multisortate cele mai uzuale concepte specifice algebrei: morfisme,
subalgebre, algebre libere, congruente.

Morfisme de algebre multisortate

Un morfism ntre doua algebre multisortate, asem


anator oricarui morfisrm de structuri algebrice, este o functie
multisortata ntre suporturile celor doua algebre care verific
a o conditie suplimentar
a. Pentru a scrie aceast
a conditie
pentru cazul algebrelor multisortate sa plecam de la conceptul uzual de morfism pentru o structur
a algebrica bazat
a
pe o operatie binar
a. h : (A, ) (B, &) este morfism daca
(a A)(b A)h(a b) = h(a)&h(b).
S
a analizam egalitatea de mai sus. Pentru un numar de elemente arbitrare din prima algebra egal cu numarul de
argumente ale operatiei evalu
am cei doi membri
- membrul st
ang:
1) se aplic
a operatia din prima algebra elementelor din prima algebra
2) se aplica morfismul h rezultatului obtinut
- membrul drept:
1) se aplic
a morfismul h elementelor din prima algebra obtinandu-se niste elemente din a doua algebra
2) se aplic
a operatia din a doua algebra acestor elemente
- se cere ca rezultatul eval
arii celor doi membri sa fie egali.
S
a facem acelasi lucru pentru doua algebre multisortate A = (As , A ), B = (Bs , B ) si o functie S-sortat
a
h : A B. Conditia de mai sus trebuie pus
a pentru fiecare operatie cu numele : s1 s2 . . . sn s si oricare ar fi
elementele a1 As1 , a2 As2 . . . an Asn
- membrul st
ang:
1) se aplic
a operatia din prima algebra elementelor din prima algebra: A (a1 , a2 , . . . , an )
2) se aplica morfismul h rezultatului obtinut hs (A (a1 , a2 , . . . , an ))
2

- membrul drept:
1) se aplic
a morfismul h elementelor din prima algebra obtinandu-se niste elemente din a doua algebra:
hs1 (a1 ), hs2 (a2 ), . . . , hsn (an )
2) se aplic
a operatia din a doua algebra acestor elemente: B (hs1 (a1 ), hs2 (a2 ), . . . , hsn (an ))
- se cere ca rezultatul eval
arii celor doi membri sa fie egali.
hs (A (a1 , a2 , . . . , an )) = B (hs1 (a1 ), hs2 (a2 ), . . . , hsn (an )).
Definitia 3.1 Functia S-sortat
a h : A B este un morfism de -algebre multisortate h : A B daca pentru
orice s1 s2 . . . sn S , pentru orice s S, pentru orice s1 s2 ...sn ,s , pentru orice a1 As1 , a2 As2 ,. . .,an Asn
hs (A (a1 , a2 , . . . , an )) = B (hs1 (a1 ), hs2 (a2 ), . . . , hsn (an )).
Este util sa remarc
am c
a exista c
ate o conditie pentru fiecare nume de operatie. In cazul operatiilor fara argumente,
asa zisele constante, conditia de morfism este pentru orice ,s egalitatea hs (A ) = B . Cu alte cuvinte
morfismele trebuie sa p
astreze constantele. Pe cazuri particulare observam c
a orice morfism de monoizi duce elementul
neutru n elementul neutru si c
a orice morfism de semiinele duce elementul neutru la adunare, respectiv la nmultire
tot n elementul neutru la adunare respectiv la nmultire.
Observam c
a functia identitate 1A este morfism de -algebre de la A la A.
Propozitie 3.2 Compunerea ca functii S-sortate a dou
a morfisme de -algebre este un morfism de -algebre.
Demonstratie: Fie h : A B si g : B C doua morfisme de -algebre. Probam c
a h; g : A C este morfism
de -algebre.
a
Fie s1 s2 . . . sn S , s S, s1 s2 ...sn ,s si a1 As1 , a2 As2 , . . ., an Asn . Observam c
(h; g)s (A (a1 , a2 , . . . , an )) = gs (hs (A (a1 , a2 , . . . , an ))) = gs (B (hs1 (a1 ), hs2 (a2 ), . . . , hsn (an ))) =
= C (gs1 (hs1 (a1 )), gs2 (hs2 (a2 )), . . . , gsn (hsn (an ))) = C ((h; g)s1 (a1 ), (h; g)s2 (a2 ), . . . , (h; g)sn (an )). 2
Compunerea morfismelor de -algebre este asociativ
a.
Morfismul identitate are efect neutru la compunere.

3.1

Izomorfisme de algebre multisortate

Definitia 3.3 Morfismul de -algebre h : A B se numeste izomorfism daca exista morfismul g : B A cu


propriet
atile h; g = 1A si g; h = 1B .
Dac
a exista, morfismul g din definitia de mai sus este unic. Intradevar daca f : B A este un alt morfism cu
propriet
atile h; f = 1A si f ; h = 1B . Observam c
a
g = g; 1A = g; (h; f ) = (g; h); f = 1B ; f = f.
Datorit
a unicit
atii sale, conform uzantelor morfismul g, denumit si inversul lui h, este notat n continuare cu h1 .
Observam c
a morfismele identitate sunt izomorfisme. In plus (1A )1 = 1A .
Propozitie 3.4 Un morfism este izomorfism dac
a si numai dac
a are toate componentele bijective
Demonstratie: Fie h : A B un morfism de -algebre.
Presupunem c
a h este izomorfism, prin urmare exista morfismul h1 : B A cu propriet
atile h; h1 = 1A si
1
1
1
h ; h = 1B . Rezult
a c
a pentru orice sort s S au loc egalitatile hs ; hs = 1As si hs ; hs = 1Bs , adica functia hs
este inversabil
a pentru orice s S, deci toate componentele hs ale lui h sunt bijectii.
Reciproc, presupunem c
a toate componentele hs ale lui h sunt bijectii. Prin urmare pentru orice s S exista
and h1 = {h1
a c
a
functia h1
:
B

A
cu
propriet
atile hs ; hs1 = 1As si h1
s
s
s }sS rezult
s ; hs = 1Bs . De aici not
s
1
1
h; h = 1A si h ; h = 1B .
Pentru a ncheia demonstratia mai trebuie aratat c
a functia S-sortat
a h1 : B A este un morfism de -algebre
1
h : B A.
Fie s1 s2 . . . sn S , s S, s1 s2 ...sn ,s si b1 Bs1 , b2 Bs2 , . . ., bn Bsn . Deoarece h este morfism deducem
1
1
1
1
1
hs (A (h1
s1 (b1 ), hs2 (b2 ), . . . , hsn (bn ))) = B (hs1 (hs1 (b1 )), hs2 (hs2 (b2 )), . . . , hsn (hsn (bn ))) = B (b1 , b2 , . . . , bn ).

Aplic
and functia h1
s ambilor membri deducem
1
(b2 ), . . . , h1
(b1 ), hs1
A (hs1
sn (bn )) = hs (B (b1 , b2 , . . . , bn ))
2
1

deci h1 : B A este morfism de -algebre.


Propozitie 3.5 Compunerea a dou
a izomorfisme este un izomorfism.
In plus
(f ; g)1 = g 1 ; f 1

2 ALGEBRE LIBERE - APLICAT


II
Virgil Emil Cazanescu
March 11, 2008

Expresii

1.1

Ce este o expresie?

Conceptul de expresie asa cum este el folosit n nvatam


antul preuniversitar nu are o definitie si un nteles precis.
Vom da un exemplu care sa ilustreze acest fapt. La ntrebarea este x y z o expresie? raspunsul depinde de
contextul n care a fost pus
a ntrebarea. Dac
a operatia a fost declarat
a asociativ
a, atunci x y z este o expresie.
In caz contrar ea nu este o expresie deoarece include o ambiguitate putand fi interpretata ca x (y z) sau (x y) z
ambele fiind expresii. In continuare notiunea de expresie va fi definita n ipoteza c
a operatiile cu care lucr
am nu au
nici o proprietate suplimentar
a.
Mai mention
am c
a cele doua expresii de mai sus mai pot fi scrise n scrierea polonez
a x yz si xyz sau n
scrierea polonez
a inversa xyz si xy z. Ne intereseaza o definitie a conceptului de expresie care s
a fie independent
a
de forma de scriere a acesteia.
Definitia 1.1 -algebra A = (As , A ) se numeste liber generata de V A daca pentru orice -algebr
a D si pentru
orice functie sortata f : V D, exista un unic morfism de -algebre f # : A D care extinde f .
-algebra A se numeste liber
a dac
a exista V A astfel nc
at A este liber generata de V.
Definitia 1.2 Se numeste expresie un element dintr-o algebra libera.
Binenteles c
a acest concept este nc
a dependent de signatura cu care lucram. In plus notiunea naiva de expresie ne
d
a intuitia necesar
a pentru ntelegerea conceptului de algebra libera: algebrele libere nu sunt altceva decat algebre
de expresii.
Independenta de modul de scriere al expresiilor corespunde unicit
atii abstractie de un izomorfism al algebrei
libere pentru care este fixata multimea generatorilor.

1.2

Evaluarea expresiilor

Un alt concept deosebit de util atat n matematica c


at si n informatic
a este cel de evaluare a unei expresii. Desi este
clar c
a pentru a evalua o expresie este necesar sa d
am valori variabilelor care apar n ea, mai putin evident este faptul
c
a trebuie precizat si unde d
am valori acestor variabile. Pentru a ilustra acest fapt mention
am c
a expresia x?(yz)
nu poate fi evaluat
a numai d
and valori variabilelor x, y si z ntr-o multime daca multimea nu este nzestrata cu doua
operatii binare corespunz
atoare simbolurilor de operatii binare ? si . In concluzie pentru a evalua o expresie este
necesar sa d
am
1. o algebra n care se fac calculele si care are aceeasi signatur
a cu cea a expresiei
2. valori variabilelor din expresie.
Mention
am c
a a da valori variabilelor din multimea X n algebra D este echivalent cu a da o functie v : X D.
Pentru orice variabil
a x din X valoarea dat
a lui x este v(x).
Vom nota cu T (X) algebra liber generata de multimea X de variabile. Incluziunea X T (X) este echivalent
a
cu faptul intuitiv c
a orice variabil
a este o expresie. Pentru orice algebra D si pentru orice functie v : X D exista,
conform definitiei algebrelor libere, un unic morfism v # : T (X) D a c
arui restrictie la X coincide cu v.
Fix
and algebra D vom constata c
a exista o bijectie naturala ntre Alg (T (X), D) multimea morfismelor de
algebre de la T (X) la D si SetS (X, D) multimea functiilor S-sortate de la X la D. Fie
r : Alg (T (X), D) SetS (X, D)
1

functia restrictie, adica r(h) : X D este restrictia morfismului h la X. Proprietatea de mai sus a algebrei libere
spune c
a
(v SetS (X, D))(!v # Alg (T (X), D))r(v # ) = v
adica r este bijectie. Existenta acestei bijectii ne permite sa identificam elementele celor doua multimi ne mai facand
distinctie ntre un morfism v # de la T (X) la D si v, restrictia lui la X.
Dac
a mai sus scriam c
a a da valori variabilelor din multimea X n algebra D este echivalent cu a da o functie
v : X D acum spunem c
a:
A da valori variabilelor din multimea X n algebra D este echivalent cu a da un morfism v : T (X) D.
O alt
a consecinta a celor de mai sus este:
Pentru a defini un morfism de la algebra liber generat
a de X la algebra D este suficient s
a d
am o
functie de la X la D.
Definitia 1.3 Dac
a e T (X) este o expresie cu variabile din X si h : T (X) D morfismul prin care se dau
valori n D variabilelor, atunci h(e) este rezultatul evalu
arii expresiei e pentru valorile variabilelor date de functia
h : X D. 2
Pentru a ne convinge c
a aceasta definitie modeleaz
a corect realitatea vom relua exemplul de mai sus privind expresia
x?(yz). S
a evalu
am aceasta expresie n multimea numerelor naturale unde ? este nmultirea si este adunarea.
Pentru valorile x = 2, y = 3 si z = 1 intuitiv obtinem 2 (3 + 1) = 8 iar cu definitia de mai sus unde
h : (T ({x, y, z}), ?, ) (N, , +)
este morfismul definit prin h(x) = 2, h(y) = 3 si h(z) = 1 obtinem
h(x?(yz)) = h(x) h(yz) = h(x) (h(y) + h(z)) = 2 (3 + 1) = 8.

1.3

Semantica instructiunii de atribuire

Fie X multimea variabilelor utilizate n program. O instructiune de atribuire este de forma x := e unde x este o
variabil
a si e este o expresie, adica e T (X).
Fie D -algebra datelor cu care se fac calculele. Ne intereseaza partitia memoriei n care sunt memorate datele
utilizate n timpul executiei programului, date depozitate n celule ale memoriei care corespund variabilelor din X.
Prin urmare starea memoriei este caracterizat
a n fiecare moment de o functie s : X D. Dac
a x este o variabil
a
s(x) este valoarea din celula de memorie corespunz
atoare lui x. Fie S multimea starilor memoriei, adica multimea
functiilor de la multimea variabilelor X la multimea datelor D.
O functie partiala de la A la B este o functie definita numai pe o parte a lui A cu valori n B.
Semantica unei instructiuni, sau mai general a unui program, este o functie partiala F de la multimea S a starilor
la ea ins
asi. Functia F este definit
a pentru starea s a memoriei daca si numai daca executia instructiunii nceput
a
n starea s a memoriei se termin
a. Mai mult F (s) este starea memoriei n momentul terminarii executiei.
Vom defini S(x := e) semantica atribuirii x := e. Fie s : X D starea memoriei la nceputul executiei atribuirii
si s# : T (X) D unica extindere la un morfism a lui s. Observam c
a s# (e) este rezultatul evalu
arii expresiei e
n starea s a memorie. Prin urmare, prin definitie
 #
s (e) daca y = x
S(x := e)(s)(y) =
s(y)
daca y 6= x.

Unicitatea abstractie de un izomorfism a algebrelor libere

Teorema 2.1 Dou


a algebre liber generate de aceeasi multime sunt izomorfe.
Demonstratie: Fie A = (As , A ) si B = (Bs , B ) doua -algebre liber generate de X. Not
am cu iA : X A si
iB : X B functiile incluziune ale lui X n A, respectiv n B. Demonstratia are patru pasi.
1. Deoarece algebra A este liber generata de X exista un morfism f : A B cu proprietatea iA ; f = iB .
Pasul 2 este asem
anator cu primul, doar c
a se inverseaza rolul algebrelor A si B. La fel vor fi si pasii 3 si 4.
2. Deoarece algebra B este liber generata de X exista un morfism g : B A cu proprietatea iB ; f = iA .
3. Deoarece iA ; (f ; g) = (iA ; f ); g = iB ; g = iA = iA ; 1A si deoarece A este algebra liber generata de X deducem
f ; g = 1A .
4. Deoarece iB ; (g; f ) = (iB ; g); f = iA ; f = iB = iB ; 1B si deoarece B este algebra liber generata de X deducem
g; f = 1B .
Deci f si g sunt izomorfisme inverse unul altuia.
2

Propozitie 2.2 Orice algebr


a izomorf
a cu o algebr
a liber
a este algebr
a liber
a.

2.1

Algebre initiale

Definitia 2.3 O -algebr


a I se numete intiala daca pentru orice -algebr
a A exista un unic morfism
A : I A.
Observam c
a o algebra este initiala dac
a si numai daca este liber generata de multimea vida.
Din teoremele de mai sus rezulta c
a:
-algebra initiala este unic
a abstractie facand de un izomorfism.
Acest fapt are aplicatii importante n informatic
a.
Un tip de date se numeste abstract dac
a este unic determinat abstractie facand de un izomorfism. Se vede prin
urmare c
a d
and o signatur
a am dat implicit, prin algebra initiala corespunz
atoare signaturii, un tip abstract de dare.
Vom da un exemplu cunoscut din algebra de liceu. Se stie c
a numerele ntregi formeaza un inel initial. V
a invitam
sa reflectati asupra urmatoarei definitii a idei de numar ntreg.
Se numeste numar ntreg un element al inelului initial.

Tipuri abstracte de date - introducere

Un tip de date se numeste abstract dac


a este unic determinat abstractie facand de un izomorfism. Abstract nseamn
a
de fapt c
a nu ne intereseaza cum sunt scrise sau memorate datele.
Una dintre metodele prin care se poate defini un tip abstract de date este cel al algebrei initiale. Mai clar : este
suficient sa d
am o signatur
a si eventual niste ecuatii, conditionate sau nu, deoarece algebra initiala, a c
arei existenta
este garantat
a de teoremele care vor fi prezentate mai t
arziu, este unic determinat
a abstractie de un izomorfism, prin
urmare este un tip abstract de date.
Tipul numerelor naturale este definit abstract ca fiind semiinelul initial.
Tipul numerelor ntregi este definit abstract ca fiind inelul initial.
Definitiile de mai sus, desi corecte sunt ineficiente, deoarece nu face posibila executia de calcule. Prin urmare
dorim alte definitii echivalente dar prin care calculatorul sa fie invatat sa faca calcule. Vom exemplifica pentru
numere naturale f
ar
a intra n prea multe detalii.

3.1

Tipul abstract al numerelor naturale

Consideram signatura cu un singur sort nat, o singura constant


a de sort nat si o singura operatie unar
a cu argument
si rezultat de sort nat:
sort nat .
op 0 : nat .
op s : nat nat .
Elementele algebrei initiale sunt
0, s(0), s(s(0)), s(s(s(0))), s(s(s(s(0)))), ...
si ele reprezint
a numerele naturale 0 1 2 3 4 ...
Propozitie 3.1 Fie N = (N, 0N , sN ) algebra definit
a prin: N este multimea numerelor naturale, 0N este num
arul
natural zero si sN (n) = n + 1 pentru orice num
ar natural n. Algebra N este initial
a.
Demonstratie: Fie A = (A, 0A , sA ) o alt
a algebra pentru signatura de mai sus. Definim funtia h : N A prin
inductie
h(0N ) = OA
h(n + 1) = sA (h(n)) pentru orice num
ar natural n.

Prima egalitate de mai sus si h(sN (n)) = sA (h(n)) pentru orice numar natural n dovedesc c
a h : N A este
un morfism.
Probam unicitatea. Fie g : N A un alt morfism. Aratam prin inductie c
a g(n) = h(n) pentru orice n natural.
g(0N ) = 0A = h(0N ) si
g(n + 1) = g(sN (n)) = sA (g(n)) = sA (h(n)) = h(sN (n)) = h(n + 1). 2
Propozitia anterioar
a ne arata cum pot fi definite numerele naturale prim metoda algebrei initiale ca tip abstract
de date. Ea dovedeste corectitudinea definitiei de mai sus.
Deocamdata prin signatura de mai sus calculatorul nvata numerele naturale dar nu stie nc
a sa calculeze. Pentru
nceput sa-l nvat
am sa adune. Dac
a introducem n signatur
a o operatie binara +
op + : nat nat nat
nu realizam nimic altceva dec
at sa adauge la multimea de mai sus a numerelor natural foarte mult gunoi. De exemplu,
deoarece calculatorul nu stie nc
a sa adune, 0 + 0 este un nou element de care nu avem nevoie. Il nvatam d
andu-i
urmatoarele doua reguli de rescriere precedate de o declarare de variabile
var X Y : nat .
eq X + 0 = 0 .
eq X + s(Y) = s(X+Y) .
Trebuie sa remarc
am diferenta esentiala dintre o regul
a de rescriere si o egalitate. O regul
a de rescriere se
aplic
a numai de la st
anga la dreapta, deoarece simetria este unul dintre marii dusmani ai program
arii prin rescriere
conducand la neterminarea programelor.
Ce p
arere aveti despre comutativitate?
S
a vedem cum efectueaz
a masina adunarea 2 + 2, adica:
s(s(0)) + s(s(0)).
Calculatorul nu poate aplica dec
at a doua regul
a pentru X=s(s(0)) si Y=s(0) ajungand la
s( s(s(0)) + s(0) ).
Trebuie din nou aplicat
a a doua regul
a de rescriere pentru X=s(s(0)) si Y=0 ajungand la
s(s( s(s(0)) + 0 )).
Acum se poate aplica numai prima regul
a pentru X=s(s(0)) obtinand rezultatul s(s(s(s(0)))), adica 4. Calculatorul
se opreste deoarece nu se mai pot face rescrieri.
Corectitudinea acestei definitii precum si a celei care urmeaza va fi facut
a mai t
arziu.
Calculatorul va sti sa si nmulteasca dac
a mai introducem o operatie binara si doua reguli de rescriere
op * : nat nat nat .
eq X * 0 = 0 .
eq X * s(Y) = X*Y + X .

3 SUBALGEBRE
Virgil Emil Cazanescu
March 11, 2008

P
arti stabile, Subalgebre

Ideea de parte stabila este foarte simpla deoarece este un concept natural. Concret, o parte P a unei algebre este
stabila daca rezultatul aplic
arii oric
arei operatii din algebra unor elemente din P este tot n P.
Definitia 1.1 Fie A = (As , A ) o -algebr
a si Ps As pentru orice s S. Partea P = {Ps }sS a lui A se numeste
stabila daca pentru orice s1 s2 . . . sn S , pentru orice s S, pentru orice s1 s2 ...sn ,s , pentru orice a1 Ps1 ,
a2 Ps2 ,. . .,an Psn elementul A (a1 , a2 , . . . , an ) este n Ps .
Observam c
a orice parte stabila contine toate constantele, adica (s S)( ,s )As Ps .
Vom arata n cele ce urmeaza c
a p
artile stabile ale oricrei algebre formeaza o familie Moore. Pentru aceasta se
poate demonstra c
a orice intersectie de p
arti stabile este o parte stabila. L
asam acest fapt ca exercitiu. Vom prefera
o cale mai dificila dar cu rezultat mult mai util n multe cazuri.
Fie A = (As , A ) o -algebr
a si X A. Definim prin inductie sirul de p
arti ale lui A astfel
X 0 = X si
Xsn+1 = Xsn {A (a) : w,s , a Xwn } pentru orice n N si orice s S.
Observam c
a sirul {X n }nN este cresc
ator.
Definim partea X a lui A prin
X=

X n.

nN

a generat
a de X.
Propozitie 1.2 X este partea stabil
Demonstratie:
demonstram c
a

Cu alte cuvinte X este cea mai mica parte stabila a lui A care include X, adica trebuie sa

1. X X
2. X este parte stabila
3. daca P este o parte stabila care include X atunci P include X
Prima incluziune este aprope evident
a deoarece X = X 0 X.
Probam c
a X este parte stabila. Fie s1 s2 . . . sn S
S , s S, s1 s2 ...sn ,s si a1 X s1 , a2 X s2 , . . ., an X sn .
Pentru orice 1 i n din ai X si , adica ai nN Xsni exista un numar natural ki cu proprietatea ai Xskii .
Fie k cel mai mare dintre numerele k1 , k2 , . . . , kn . Deoarece sirul {X n }n este cresc
ator deducem c
a ai Xski pentru
n
k+1
k+1
orice 1 i n. Din definitia sirului {X }n deducem A (a1 , a2 , . . . , an ) Xs . Deoarece X
X deducem c
a
A (a1 , a2 , . . . , an ) X s deci X este parte stabila.
Fie P o parte stabila a algebrei A cu proprietatea X P . Probam prin inductie c
a X n P pentru orice n
natural.
Dac
a n = 0 atunci X 0 = X P.
Presupunem X n P si demonstram c
a X n+1 P. Fie a Xsn+1 . Dac
a a Xsn din ipoteza de inductie deducem

n
a Ps . Altfel exista s1 s2 . . . sk S , s S, si ai Xsi pentru orice 1 i k cu proprietatea a = A (a1 , a2 , . . . , ak ).
a
Din ipoteza de inductie deducem ai Psi pentru orice 1 i k. Deoarece P este parte stabila deducem c
A (a1 , a2 , . . . , ak ) Ps , deci a Ps .
S
Deoarece X n P pentru orice n natural rezulta c
a nN X n P , deci X P. 2
Definitia 1.3 Fie A o -algebr
a si X A. Dac
a X = A spunem c
a X genereaz
a A sau c
a A este generata de X.
1

Operatorul de nchidere asociat familiei Moore a p


artilor stabile are urmatoarele propriet
ati:
1. daca X Y sunt p
arti ale algebrei, atunci X Y ,
2. X = X pentru orice parte X a algebrei.

1.1

Inductie structural
a

Aceasta metod
a de a face inductie este folosita pentru a demonstra c
a elementele unei algebre au o anumita proprietate. Metoda se numeste structural
a deoarece se bazeaza pe structura algebrei.
Fie A = (As , A ) o -algebr
a, X o multime de generatori ai algebrei A si P o proprietate referitoare la elementele
algebrei A. Pentru a dovedi c
a toate elementele algebrei A au proprietatea P este suficient ca sa dovedim c
a
1. orice element din X are proprietatea P,
2. pentru orice s1 s2 . . . sn S , s S, s1 s2 ...sn ,s daca a1 As1 , a2 As2 , . . ., an Asn sunt elemente
arbitrare cu proprietatea P, atunci A (a1 , a2 , . . . , an ) are proprietatea P.
Ne vom convinge de corectitudinea inductiei structurale. Fie B submultimea lui A formata din toate elementele
algebrei A care au propritatea P.
- Proprietatea 1 de mai sus ne asigura c
a X B.
- Proprietatea 2 de mai sus ne asigura c
a B este parte stabila.
a algebra A, prin urmare B = A, deci orice element din A
Prin urmare X B. Dar X = A deoarece X genereaz
are proprietatea P.

1.2

Subalgebre

Conceptul de subalgebra este foarte apropiat de cel de parte stabila. Diferenta principala consta n faptul c
a una
este o algebra si alta este o multime.
O subalgebra a algebrei A = (As , A ) este o alt
a algebra B = (Bs , B ) cu propriet
atile B A si B (b1 , b2 , . . . , bn ) =
A (b1 , b2 , . . . , bn ) oricare ar fi s1 s2 . . . sn S , s S, s1 s2 ...sn ,s si b1 Bs1 , b2 Bs2 , . . ., bn Bsn .
Observam c
a dac
a algebra B este subalgebra a algebrei A, atunci B este o parte stabila a algebrei A.
Reciproc, dac
a B este o parte stabila a algebrei A putem defini subalgebra B de suport B prin B (b1 , b2 , . . . , bn ) =
A (b1 , b2 , . . . , bn ) oricare ar fi s1 s2 . . . sn S , s S, s1 s2 ...sn ,s si b1 Bs1 , b2 Bs2 , . . ., bn Bsn .

Morfisme si p
arti stabile

O pereche de morfisme cu acelasi domeniu si acelasi codomeniu se mai numeste si sageata dubl
a.
Definitia 2.1 Fie f : A B si g : A B doua morfisme. Numin nucleu de s
ageat
a dubl
a al morfismelor f
si g submultimea lui A notata Ker(f,g) si definita pentru orice sort s prin
Ker(f, g)s = {a As : fs (a) = gs (a)}.
Propozitie 2.2 Nucleul de s
ageat
a dubl
a este o parte stabil
a.
Demonstratie: Fie s1 s2 . . . sn S , s S, s1 s2 ...sn ,s si a1 Ker(f, g)s1 , a2 Ker(f, g)s2 , . . .,
a fsi (ai ) = gsi (ai ). Prin urmare
an Ker(f, g)sn . Pentru orice 1 i n deducem c
fs (A (a1 , a2 , . . . , an )) = B (fs1 (a1 ), fs2 (a2 ), . . . , fsn (an )) = B (gs1 (a1 ), gs2 (a2 ), . . . , gsn (an )) = gs (A (a1 , a2 , . . . , an )),
deci A (a1 , a2 , . . . , an ) Ker(f, g)s
Corolar 2.3 Fie f : A B si g : A B dou
a morfisme si X o submultime a lui A. Dac
a restrictiile lui f si g
la X coincid, atunci restrctiile lui f si g la X sunt egale.
Corolar 2.4 Fie f : A B si g : A B dou
a morfisme Dac
a restrictiile lui f si g la o multime de generatori
ai algebrei A coincid, atunci f = g.

Propozitie 2.5 Fie h : A B un morfism de -algebre.


1. Dac
a P este o parte stabil
a a lui A, atunci h(P ) este o parte stabil
a a lui B.
2. Dac
a Q este o parte stabil
a a lui B, aunci, h1 (Q) este o parte stabil
a a lui A.
3. Dac
a X este o parte a lui A, atunci h(X) = h(X).
Demonstratie:
1. Prima proprietate spune c
a imaginea directa a unei p
arti stabile printr-un -morfism este o parte stabila.
Fie s1 s2 . . . sn S , s S, s1 s2 ...sn ,s si b1 hs1 (Ps1 ), b2 hs2 (Ps2 ), . . . , bn hsn (Psn ). Pentru orice
at bi = hsi (pi ). Deoarece P este o parte stabila deducem A (p1 , p2 , . . . , pn ) Ps .
1 i n exista pi Psi astfel nc
Observam c
a
hs (As (p1 , p2 , . . . , pn )) = Bs (hs1 (p1 ), hs2 (p2 ), . . . , hsn (pn )) = Bs (b1 , b2 , . . . , bn ).
Prin urmare Bs (b1 , b2 , . . . , bn ) hs (Ps ), deci h(P ) este parte stabila a algebrei B.
2. A doua proprietate spune c
a imaginea inversa a unei p
arti stabile printr-un -morfism este o parte stabila.
1
1
(Q
Fie s1 s2 . . . sn S , s S, s1 s2 ...sn ,s si a1 h1
s1 ), a2 hs2 (Qs2 ), an hsn (Qsn ). Deoarece Q este
s1
parte stabila si hs1 (a1 ) Qs1 , hs2 (a2 ) Qs2 , . . . hsn (an ) Qsn deducem B (hs1 (a1 ), hs2 (a2 ), . . . , hsn (an )) Qs .
Deoarece
hs (As (a1 , a2 , . . . , an )) = Bs (hs1 (a1 ), hs2 (a2 ), . . . , hsn (an ))
1
deducem c
a As (p1 , p2 , . . . , pn ) h1
(Q) este parte stabila.
s (Qs ), deci h
3. Din X X deducem h(X) h(X). Deoarece membrul drept este o parte stabila fapt ce rezulta din prima
proprietate deducem c
a
h(X) h(X).

a X h1 (h(X)).
Din h(X) h(X) deducem h1 (h(X)) h1 (h(X)). Deoarece X h1 (h(X)) rezulta c
1
Deoarece membrul drept este conform propriet
atii 2 o parte stabila deducem X h (h(X)). Deoarece imaginea
directa este cresc
atare h(X) h(h1 (h(X))). Deoarece h(h1 (h(X))) h(X) deducem
h(X) h(X).
Din cele doua incluziuni de mai sus rezulta concluzia.

4 ALGEBRE LIBERE
Virgil Emil Cazanescu
March 11, 2008

Algebre libere si algebre Peano

Algebrele libere si algebrele Peano sunt doua concepte echivalente. Pentru a ntelege mai bine acest fapt vom
exemplifica un fenomen asem
anator din cazul mult mai simplu al monoizilor.
Fie M un monoid si B M. Reamintim doua definitii echivalente pentru faptul c
a monoidul M este liber generat
de submultimea sa B.
Definitia 1.1 Pentru orice monoid N si orice functie f : B N exista un unic morfism f # : M N de monoizi
a c
arui restrictie la B este f .
Definitia 1.2 Pentru orice m M exista si sunt unice numarul natural n si elementele b1 B, b2 B, . . . , bn B
cu proprietatea m = b1 b2 . . . bn .
S
a observam diferenta esentiala dintre cele doua definitii. Observam c
a n definitia 1.1 nu apar de loc elemente,
aparand numai concepte din afara monoidului M . Definitia 1.2 n schimb lucreaza numai cu elemente din interiorul
monoidului.
Compar
and definitia dat
a algebrelor libere cu cele doua de mai sus constatam c
a definitia 1.1 este asem
anatoare.
Sunt atat de asem
anatoare nc
at pot fi generalizate la cel mai nalt nivel de abstractizare, cel al teoriei categoriilor.
Conceptul asem
anator celui din definitia 1.2 este cel de algebra Peano, concept echivalent cu cel de algebra liber
a.
Problema esentiala este de a demonstra existenta algebrelor libere, fapt care nu este simplu. Reamintim c
a o
algebra libera este de fapt o algebra de expresii. Se poate demonstra c
a expresiile formeaza o algebra Peano si apoi
proba c
a algebrele Peano sunt libere. Deoarece expresiile pot fi scrise n mai multe moduri, fiecare dintre aceste
scrieri poate conduce la o demonstratie. Deoarece textul se adreseaz
a unor informaticieni vom prefera reprezentarea
expresiilor ca arborii etichetati, local ordonati, n care frunzele sunt etichete cu variabile(generatori) sau nume de
constante. Restul nodurilor sunt etichetate cu nume de operatii ale c
aror argumente sunt date de subarborii avand
radacinile drept succesori ale nodului.

1.1

Existenta algebrelor libere - varianta scurt


a

Definitia 1.3 Se numeste multime S-sortat


a de variabile o multime S-sortat
a X = {Xs }sS cu componentele
disjuncte doua c
ate doua.
Conditia de mai sus rezulta din faptul c
a o variabil
a nu poate fi de doua sorturi diferite. Altfel spus fiecare variabil
a
si determina sortul. O definitie echivalent
a ar fi o funtie f : X S. In acest caz Xs = f 1 (s) pentru orice s S.
Varianta scurt
a este scrisa pentru cei care au dificultati n a ntelege o demonstratie corecta dar mai dificila. Cei
care prefer
a varianta scurt
a pot sarii sectiunea urmatoare. Ceilalti sunt invitati sa sara direct la sectiunea urmatoare.

Plecam de la o signatur
a (S, ) si o multime S-sortat
a de variabile X.
Fie T (X) cea mai mica multime S-sortat
a cu urmatoarele propriet
ati:
1. Xs T (X)s pentru orice s S,
2. ,s T (X)s pentru orice s S,
3. Pentru orice n 1, pentru orice s1 s2 . . . sn S , pentru orice s S, pentru orice s1 s2 ...sn ,s , daca
ti T (X)si pentru orice 1 i n, atunci (t1 , t2 , . . . , tn ) T (X)s .

Multimea S-sortat
a T (X) devine o -algebr
a definind operatiile notate T dupa cum urmeaza:
1. T = dac
a ,s
2. T (t1 , t2 , . . . tn ) = (t1 , t2 , . . . , tn ) dac
a n 1, s1 s2 ...sn ,s si ti T (X)si pentru orice 1 i n.
Vom demonstra n cele ce urmeaza c
a -algebra (T (X)s , T ) este liber generata de X.
Fie A = (As , A ) o -algebr
a si f : X A o functie S-sortat
a.
Definim functia S-sortat
a f # : T (X) A prin
1. fs# (x) = fs (x) pentru orice x Xs si s S,
2. fs# () = A pentru orice ,s ,
3. fs# ((t1 , t2 , . . . , tn )) = A (fs#1 (t1 ), fs#2 (t2 ), . . . , fs#n (tn )) pentru orice n 1, pentru orice s1 s2 . . . sn S , pentru
orice s S, pentru orice s1 s2 ...sn ,s si orice ti T (X)si pentru orice 1 i n.
Din prima parte a definitiei de mai sus se vede c
a restrictia functiei f # la X este chiar functia f.
Din celelalte doua p
arti ale definitiei rezulta c
a f # este un morfism de -algebre de la T (X) la A.
Unicitatea: Dac
a h : T (X) A este un morfism a c
arui restrictie la X este f , deoarece X este o multime de
generatori ai lui T (X) si deoarece h si f # coincid pe X deducem c
a h = f #.
Unde-i greseala?

Algebre Peano

Definitia 2.1 O algebra A = (As , A ) se numete Peano peste X A daca


1. X genereaz
a algebra A,
2. pentru orice w,s si orice a Aw , A (a) 6 Xs si
3. ( w,s )(a Aw )( w ,s )(a Aw ) A (a) = A (a ) w = w , = si a = a .
Teorema 2.2 Orice algebr
a Peano peste X este liber generat
a de X.
Demonstratie: Fie A = (As , A ) o algebra Peano peste X A, B o alt
a algebra si h : X B o functie.
Deoarece algebra A este generata de X rezulta c
a
[
A=
Xn
nN

unde X 0 = X si pentru orice n N si orice s S


Xsn+1 = Xsn {A (a) : w,s , a Xwn }.
Definim prin inductie dupa n N sirul de functii hn : X n B prin h0 = h si
 n
daca a Xsn
hs (a)
hn+1
(a)
=
n

s
B (hw (a )) daca a = A (a ) 6 Xsn unde w,s si a Xwn
Corectitudinea acestei definitii rezulta din conditia 3 din definitia algebrei Peano.
Observam c
a sirul functiilor hn : X n B este cresc
ator, adica restrictia lui hn+1 la X n este chiar hn . Mai
m
n
mult pentru orice m n restrictia lui h la X este chiar hn .
Definim functia g : A B pentru orice s Ssi orice a As prin
gs (a) = hns (a) dac
a n este cel mai mic numar natural cu proprietatea a Xsn .
Observam c
a gs (a) = hm
ar natural m cu proprietatea a Xsm .
s (a) pentru orice num
Probam c
a g : A B este morfism de algebre. Fie w,s si a Aw .
Deoarece A (a) 6 Xs0 exista n cel mai mic numar natural cu proprietatea A (a) Xsn+1 Xsn . Rezult
a c
a
gs (A (a)) = hn+1
(A (a)).
s
2

Probam c
a a Xwn . Deoarece A (a) Xsn+1 Xsn exista w ,s si a Xwn astfel nc
a
at A (a) = A (a ). Rezult

n
c
a w = w , = si a = a , deci a Xw . Prin urmare
gw (a) = hnw (a) si hn+1
(A (a)) = B (hnw (a))
s
deci
gs (A (a)) = B (hnw (a)) = B (gw (a)).
Restrictia lui g la X = X 0 este h0 = h.
Unicitatea lui g este consecinta faptului c
a X genereaz
a A. 2

Algebra arborilor de derivare

O gramatica independent
a de context poseda doua multimi disjuncte, una a neterminalelor N si una a terminalelor
T precum si multimea P N (N T ) a productiilor. Chiar daca conceptul de gramatica independent
a de context
verific
a si alte conditii, noi ne restrangem doar la cele de mai sus deoarece acestea sunt utile n cele ce urmeaza.
Fiec
arei gramaticii independente de context G i se poate atasa o signatur
a:
- neterminalele devin sorturi,
- productiile devin nume de operatii,
- daca (n, t0 n1 t1 . . . nk tk ) P unde literele n sunt neterminale si literele t sunt cuvinte cu litere terminale, atunci
(n, t0 n1 t1 . . . nk tk ) : n1 n2 . . . nk n
adica operatia corespunz
atoare lui (n, t0 n1 t1 . . . nk tk ) are ca rezultat un element de sortul indicat de neterminalul
din membrul stang al productiei, un num
ar de argumente egal cu numarul de neterminale din membrul drept al
productiei si sorturile argumentelor sunt chiar neterminalele din membrul drept al productiei.
O algebra a c
arei signatur
a este cea atasat
a gramaticii independente de context G se numeste G-algebr
a.
Un arbore de derivare ntr-o gramatic
a independent
a de context are urmatoarele propriet
ati:
1. are noduri etichetate cu terminale sau neterminale, radacina fiind etichetata cu un neterminal;
2. este local ordonat: succesorii fiec
arui nod sunt ntr-o ordine total
a;
3. pentru orice nod, dac
a este etichetat cu un terminal atunci nu are succesor, iar daca este etichetat cu un neterminal n, atunci acesta si cuv
antul format de etichetele succesorilor formeaza o productie (n, s1 s2 . . . sk1 sk ) P .
Arborii de derivare ai unei gramatici independente de context G pot fi organizati ca o G-algebr
a A dupa cum urmeaza:
- pentru orice neterminal n multimea An este formata din totalitatea arborilor de derivare care au radacina
etichetata cu n.
- pentru productia p = (n, t0 n1 t1 . . . nk tk ) si arborii ai Ani arborele Ap (a1 , a2 , . . . , ak ) este format astfel:
radacina este etichetata cu n, succesorii radacinii n numar egal cu numarul literelor din t0 n1 t1 . . . nk tk sunt chiar
literele acestui cuv
ant si subarborele fiec
arui nod etichetat cu ni este chiar ai .
Teorema 3.1 Algebra arborilor de derivare ai unei gramatici independente de context este algebr
a Peano peste
multimea vid
a.
Demonstratie: Pentru a proba c
a A este generata de multimea vida este suficient sa demonstram c
a A este singura
parte stabila a lui A. Fie P o parte stabila a lui A. Vom proba prin inductie dupa adancimea arborilor c
a orice
arbore este n P . Reamintim c
a adancimea unui arbore este lungimea celei mai lungi ramuri din arbore. Fie m un
numar natural. Presupunem prin ipoteza de inductie c
a orice arbore cu adancimea strict mai mica decat m este n
P. Probam c
a orice arbore de adancime m este n P . Fie a un arbore de adancime m. Analizand radacina si primul
nivel al arborelui a deducem existenta unei productii p = (n, t0 n1 t1 . . . nk tk ) cu proprietatea
a = Ap (a1 , a2 , . . . , ak ).
unde ai sunt subarborii lui a care au varfurile n succesorii radacinii lui a care sunt etichetati cu neterminale.
Observam c
a arborii a1 , a2 , . . . , ak au adancimea cu cel putin o unitate mai mica decat adancimea lui a, adica
strict mai mica dec
at m. Prin ipoteza de inductie rezulta c
a ai Psi pentru orice 1 i k. Deoarece P este o parte
stabila deducem c
a Ap (a1 , a2 , . . . , ak ) Ps , deci a Ps .
3

A doua conditie din definitia algebrelor Peano


AP (a1 , as , . . . , ak ) 6
este evident adevarata.
Trecem la ultima conditie.
Fie p = (n, t0 n1 t1 . . . nk tk ) si q = (n, t0 s1 t1 . . . sk tk ) doua nume de
operatii(productii) unde literele n si s sunt neterminale si literele t sunt cuvinte formate din terminale. Fie ai Ani
at
pentru 1 i k si bi Asi pentru 1 i k astfel nc
Ap (a1 , a2 , . . . , ak ) = Aq (b1 , b2 , . . . , bk )
Egaland cuvintele formate cu etichetele succesorilor radacinilor din cei doi arbori egali deducem
t0 n1 t1 . . . nk tk = t0 s1 t1 . . . sk tk .
Reamintim c
a prin definitia gramaticilor un element nu poate fi n acelasi timp si terminal si neterminal. Deoarece
numarul neterminalelor din cele doua cuvintre trebuie s
a fie egal deducem egalitatea k = k . Deoarece primele
neterminale din cele doua cuvinte trebuie sa fie pe aceeasi pozitie deducem c
a t0 = t0 si n1 = s1 . Rezult
a c
a
t1 . . . nk tk = t1 . . . sk tk .
Continu
am rationamentul ca mai sus si deducem ti = ti pentru 0 i k si ni = si pentru 1 i k. De aici
deducem c
a p = q.
In final egaland subarborii cu radacinile aflate pe aceeasi pozitie ale primului nivel rezulta c
a ai = bi pentru orice
1 i k. 2
Scriu randurile care urmeaza deoarece de mai multe ori c
ativa dintre studentii au contestat lipsa primului pas al
inductiei n prima parte a demonstratiei de mai sus. El nu lipseste ci este pur si simplu inclus n demonstratia de
mai sus. Primul pas este cazul m = 0. Este evident c
a prin ipoteza de inductie nu se presupune nimic deoarece nu
exista arbori de adancime strict negativ
a. Arborele a de adancime 0 nu are decat radacina etichetata sa spunem cu
n, prin urmare p = (n, ), deci a = Ap . In concluzie Ap Pn deoarece P este parte stabila, deci a Pn .

Existenta algebrelor libere

Urmarim sa aratam c
a pentru orice signatur
a si pentru multime S-sortat
a de variabile X exista o -algebr
a liber
generata de X pe care n cele ce urmeaza o vom nota cu T (X). Constructia algebrei libere care urmeaza este bazata
pe scrierea polonez
a a expresiilor, adica un sir de semne de operatii si variabile n care semnul de operatie este plasat
a
n fata argumentelor sale care trebuie sa-l urmeze. Productiile de forma (s, s1 s2 . . . sn ) unde s1 s2 ...sn spun c
daca ei este expresie de sort si pentru orice 1 i n, atunci e1 e2 . . . en este expresie de sort s. Productiile de
forma (s, x) unde s S si x Xs spun c
a orice variabil
a x de sort s este expresie de sort s.
Fie (S, ) o signatur
a si X o multime S-sortat
a cu componentele disjuncte doua c
ate doua. Fara a micsora
generalitatea vom presupune c
a si X sunt disjuncte.
Consideram gramatica independent
a de context definita prin
1. Multimea neterminalelor este S,
2. Multimea terminalelor este X si
3. Multimea productiilor este {(s, w)| w,s } {(s, x)|s S, x Xs }.
Not
am cu A = (As , A(s,w) , A(s,x) ) algebra arborilor ei de derivare. Ea este algebra Peano peste multimea vida.
Not
am cu B = (As , B ) algebra de signatur
a definita prin B = A(s,w) pentru orice w,s si cu i : X A
functia S-sortat
a definit
a pentru orice s S si x Xs prin is (x) = A(s,x) . Observam c
a functia i are toate
componentele injective.
Teorema 4.1 -algebra B este Peano peste i(X).
Demonstratie:
1. Fie C A o parte stabila a algebrei B care include i(X). Observam c
a C este o parte stabila a algebrei A.
Deaorece A este Peano peste multimea vida rezulta c
a C = A.
In concluzie algebra B este generata de i(X).
4

a B (a) 6 i(X).
2. Fie w,s si a Aw . Deoarece A(s,w) (a) 6= A(s ,x) pentru orice s S si x Xs rezulta c
3. Fie w,s , a Aw , w ,s a Aw cu B (a) = B (a ). Din
A(s,w) (a) = A(s ,w ) (a )
deoarece A este algebra Peano deducem c
a (s, w) = (s, w ) si a = a . Mai observam c
a = si w = w . 2
Putem spune c
a ne-am atins scopul deoarece -algebra B este liber generata de multimea i(X) care, deoarece
functia i este injectiv
a, este n bijectie cu X.
Propozitie 4.2 Orice algebr
a liber
a este Peano
Demonstratie: Fie L o -algebr
a liber generata de multimea X. Consideram o -algebr
a P Peano peste X.
Deoarece si P este liber generata de X rezulta existenta unui izomorfism i : P L cu proprietatea i(x) = x pentru
orice x X. Deci L este algebra Peano peste X.

5 SEMANTICA ALGEBREI INIT


IALE
Virgil Emil Cazanescu
March 22, 2008
Metoda semanticii algebrei initiale este o simplificare a metodei mai clasice a semanticii denotationale.
Metoda semanticii algebrei intiale se aplic
a pentru limbaje definite printr-o gramatica independent
a de context
G = (N, T, P, a), unde N este multimea neterminalelor, T mtimea terminalelor, P multimea productiilor si a axioma gramaticii. Ea spune c
a pentru a defini semantica limbajului gramaticii G este suficient s
a d
am o
G-algebr
a S = (Sn , Sp ) unde n este un neterminal si p o productie.
Pentru a ntelege afirmatia de mai sus trebuie sa intram putin n am
anunte. Fie A algebra arborilor de derivare.
Deoarece A este algebra intiala exista un unic morfism de G-algebre
M : A S.
Dat un cuv
ant c din limbajul gramaticii G exista un arbore de derivare arb cu radacina etichetata cu a a c
arui
frontiera este c. Semantica cuv
antului c este prin definitie Ma (arb).
Mention
am c
a metoda este bine definit
a numai pentru gramaticile neambigue, fapt care asigura unicitatea arborelui arb. Acest aspect este mai degrab
a legat de analiza sintactica.
Trecem la exemple care vor clarifica si mai mult ideile de mai sus.

Semantica unui sir de cifre ca num


ar natural

Vom considera o gramatic


a G care genereaz
a sirurile finite de cifre zecimale, considerate ca terminale. Gramatica
are doua neterminale <cifra> si <nat> ultima fiind si axioma a gramaticii. Descriem n continuare productiile
gramaticii c
arora le d
am un nume
ci
n1
n2

<cifra>
<nat>
<nat>

i
<cifra>
<nat> <cifra>

pentru orice cifra zecimala i

Vom defini algebra semantic


a explic
and de ce o definim astfel. Deoarece gramatica are doua neterminale, signatura
asociata are doua sorturi, prin urmare algebra semantic
a trebuie sa aib
a ca suport doua multimi. Deoarece semantica
unei cifre, care nu este nimic altceva dec
at un semn, este numarul reprezentat de cifra. Prin urmare suportul
corespunz
ator neterminalului <cifra> trebuie sa contina macar numerele de la zero la noua. Deci prin definitie
S<cif ra> = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.
Deoarece semantica unui sir finit de cifre este numarul natural pe care acest sir l reprezint
a, suportul corespunz
ator
neterminalului <nat> trebuie sa contina macar multimea numerelor naturale. Deci prin definitie
S<nat> = este multimea numerelor naturale.
S
a trecem la definirea operatiilor algebrei semantice.
Deoarece productia ci corespunz
atoare cifrei i nu are nici un neterminal n membrul drept, operatia corespunz
atoare ei este o operatie f
ar
a argumente, adica un element din S<cif ra>
Sci este numarul natural reprezentat de cifra i.
Productia n1 spune c
a orice cifra este un sir dr cifre. Deoarece valoarea numarului reprezentat de un sir de lungime
unu este egala cu valoarea num
arului reprezentat de singura cifra din sir si semantica lor trebuie sa fie aceeasi. Deci
prin definitie
Sn1 este functia incluziune de la S<cif ra> la S<nat> .
1

Productia n2 ne spune c
a prin adaugarea la dreapta unui sir de cifre, sa spunem s1, a unei cifre, sa spunem c, se
obtine un nou sir de cifre s2 = s1c. Operatia corespunz
atoare productiei n2 trebuie sa fie o functie
Sn2 : S<nat> S<cif ra> S<nat>
definita pentru numele n si m prin
Sn2 (n, m) = 10n + m
deoarece valoarea ca num
ar a sirului s2 este egala cu de zece ori valoarea ca numar a sirului s1 plus valoarea ca
numar a cifrei.
Cu aceasta semantica este complet definit
a. Vom exemplifica pentru sirul 023. Arborele de derivare pentru acest
sir este
An2 (An2 (An1 (Ac0 ), Ac2 ), Ac3 ).
S
a-i aplic
am morfismul semantic acestui arbore.
M<nat> (An2 (An2 (An1 (Ac0 ), Ac2 ), Ac3 )) = Sn2 (Sn2 (Sn1 (Sc0 ), Sc2 ), Sc3 ) = Sn2 (Sn2 (Sn1 (0), 2), 3) = Sn2 (Sn2 (0, 2), 3) =
Sn2 (10 0 + 2, 3) = Sn2 (2, 3) = 10 2 + 3 = 23
Ce sa nt
ampl
a dac
a n membrul drept al productiei n2 scriem < cif ra >< nat >?

Un calculator de buzunar

Vom da un alt exemplu, cel al unui minicalculator pe fata c


aruia se afla un mic ecran pe care se poate afisa un singur
numar si mai multe butoane:
ON pentru pornirea calculatorului
OFF pentru oprirea calculatorului
0 1 2 3 4 5 6 7 8 9 pentru cifrele zecimale
+ pentru adunare si nmultire
M pentru unica celul
a de memorie a calculatorului
( ) pentru parantezele necesare n scrierea expresiilor
IF , pentru o anumit
a instructiune
E pentru comanda de evaluarea a unei expresii
Vom considera o gramatic
a G care genereaz
a limbajul programelor care pot fi executate de minicalculator. Ea
extinde gramatica din exemplul precedent.
Gramatica are cinci neterminale <cifra>, <nat>, <exp> pentru expresii, <inst> pentru anumite portiuni de
programe si <program> care este si axiom
a a gramaticii. Descriem n continuare productiile gramaticii c
arora le
d
am un nume
ci
n1
n2
r1
r2
r3
r4
r5
r6
r7
r8
r9

<cifra>
<nat>
<nat>
<exp>
<exp>
<exp>
<exp>
<exp>
<exp>
<inst>
<inst>
<program>

i
<cifra>
<nat> <cifra>
<nat>
M
<exp> + <exp>
<exp> <exp>
IF <exp>,<exp>,<exp>
(<exp>)
<exp> E OFF
<exp> E <inst>
ON <inst>

pentru orice cifra zecimala i

Pentru a da semantica este necesar sa explicam cum functioneaza calculatorul. Se porneste calculatorul apasand
butonul ON, moment n care se initializeaza unica celul
a de memorie cu zero. Se introduce o expresie care la apasarea
butonului E se evalueaz
a. Rezultatul evaluarii este afisat pe ecran si introdus n unica celul
a de memorie n locul
vechii valori. Se introduce alt
a expresie, se apasa butonul E si asa mai departe. La final se apasa butonul OFF
pentru nchiderea calculatorului. Mai remarc
am c
a se calculeaza numai cu numere naturale.
2

Vom defini algebra semantic


a. Deoarece signatura asociata are cinci sorturi, algebra semantic
a trebuie sa aib
a ca
suport cinci multimi, primele doua fiind cele de mai sus S<cif ra> si S<nat> .
Expresiile sunt f
acute pentru a fi evaluate, prin urmare prima idee ar fi ca semantica unei expresii sa fie un numar.
Dar oare ce num
ar se obtine prin evaluarea expresiei M+3. Trebuie sa mention
am c
a fiecare aparitie a lui M este
nlocuita n timpul evalu
arii cu valoarea care se afla n unica celul
a de memorie. Prin urmare rezultatul evalu
arii
lui M+3 depinde de continutul celulei de memorie. Prin urmare semantica expresiei M+3 este functia f : N N
defina prin f (x) = x + 3 care asociaza num
arului x care se afla n celula de memorie rezultatul x + 3 al evalu
arii
acesteia. Prin urmare prin definitie S<exp> este multimea functiilor de la multimea numerelor naturale la ea ns
asi.
O instructiune comand
a evaluarea unui sir finit de expresii. Semantica instructiunii este, prin definitie, sirul
numerelor care apar pe ecran n timpul executiei instructiunii, adica un sir finit si nevid de numere naturale. Multimea
acestor siruri o not
am cu N + . Rezultatul evalu
arii depinde evident de valoarea din memorie din momentul nceperii
executiei instructiunii, prin urmare
S<inst> = {f : N N + / f estef unctie.}
Un program difera de o instructiune prin faptul c
a se introduce zero n celula de memorie nainte de executia
instructiunii pe care o contine, prin urmare sirul de numere care apar pe ecran n timpul executiei programului nu
mai depinde de continutul memoriei, fiind un element din N + , deci S<program> = N + .
Definitiile pentru operatii, f
ar
a a mai repeta pe cele de mai sus sunt:
Sr1 (n)(m) = n
Sr2 (m) = m
Sr3 (e1, e2)(m) = e1(m) + e2(m)
Sr4 (e1, e2)(m) = e1(m) e2(m)
Sr5 (e1, e2, e3)(m) = dac
a e1(m) = 0 atunci e2(m) altfel e3(m)
Sr6 (e) = e
Sr7 (e)(m) = e(m)
Sr8 (e, )(m) = e(m)(e(m))
Sr9 () = (0)
unde am folosit urmatoarele notatii
m este un num
ar natural reprezent
and continutul celulei de memorie
n este un num
ar natural
e este o functie de la N la N reprezent
and semantica unei expresii
este o functie de la N la N + reprezent
and semantica unei instructiuni.

APLICAT
II ale metodei ALGEBREI INIT
IALE
Virgil Emil Cazanescu
February 14, 2010

Arbori de derivare

Un arbore de derivare ntr-o gramatic


a independenta de context are urmatoarele proprietati:
1. are noduri etichetate cu terminale sau neterminale;
2. este local ordonat: succesorii fiec
arui nod sunt ntr-o ordine totala;
3. pentru orice nod, dac
a este etichetat cu un terminal atunci nu are succesor, iar dac
a este etichetat
cu un neterminal n, atunci acesta si cuvantul format de etichetele succesorilor formeaza o productie
(n, s1 s2 . . . sk1 sk ) P .

n
s1
1.1

s k-1 s

s2

O gramatic
a pentru expresii

Definim o gramatic
a independent
a de context pentru expresiile construite cu variabilele x, y si z,
cu operatiile binare de adunare si nmultire si cu paranteze. Gramatica trebuie constrita respectand
urmatoarele conditii privind expresiile:
1. nmultirile se fac naintea adunarilor
2. adunarile se fac de la st
anga la dreapta
3. nmultirile de la dreapta la st
anga.
Multimea terminalelor este {x, y, z, (, ), +, }. Fie N = {V, F, T, E, P } multimea neterminalelor. Semnificatia
lor este urmatoarea:
V
F
T
E
P

reprezint
a variabilele
de la factor, reprezint
a cele mai mici elemente folosite n constructia expresiilor
de la termen, reprezint
a un produs de factori
de la expresie, reprezint
a o suma de termeni
de la program.

Continu
am cu multimea regulilor(productiilor) gramaticii:
0. P E
5. F (E)

1. V x
6. T F

2. V y
7. T F T

3. V z
8. E T

4. F V
9. E E + T

Observati productiile 7 si 9 pentru a vedea cum se precizeaz


a ordinea de executie a operatiilor de acelasi
fel. Neterminalul din membrul st
ang se afl
a n dreapta, respectiv n st
anga semnului operatiei.

1.2

Un exemplu

S
a se construiasc
a arborele de derivare pentru expresia x + y (x + y) z + z.

P
E
E
E

*
F

E + T

x
Pentru a reface expresia, arborele se parcurge n inordine.
Daca veti incerca s
a construiti alt arbore de derivare pentru aceeasi expresie veti constata ca acest lucru
nu este posibil. Prin urmare modul de constructie al expresiei va impune o anumit
a ordine n evaluarea
acesteia.
Folosind numerele care denumesc productiile ca nume ale operatiilor din algebra arborilor de derivare

arborele de mai sus este


A = 0(9[9{a, 7(4[2], 7[ 5{9(a,6[4(2)])},b ]) },b])
unde a = 8(6[4(1)]) si b = 6(4(3)).

0
9
9

6
4

8
6

Scrierea polonez
a invers
a

Semantica pe care o d
am unui limbaj depinde de scopul pe care-l urmarim. Pentru a ilustra aceast
a
idee vom da dou
a semantici pentru expresiile definite mai sus.
Prima semantic
a va da scrierea polonez
a invers
a pentru expresii. A doua semantica va fi dat
a n
sectiunea urmatoare.
Algebra semantic
a va avea toate suporturile egale cu semigrupul liber generat de {x, y, z, +, }.
Operatiile sunt urmatoarele:
0 = 4 = 5 = 6 = 8 sunt aplicatia identitate,
1 = x, 2 = y si 3 = z,
7(, ) = + si 9(, ) = .
Aplicand morfismul semantic arborelui A obtinem xyxy+z**+z+.

Compilare

Un compilator care va produce un program pentru evaluarea expresiilor si tip


arirea rezultatului eval
arii
va fi modelat printr-un morfism.
Vom pune n evident
a elementele care apar n programele obtinute prin compilare. R este un registru
din memorie. P este un pointer c
atre primul loc liber al stivei utilizate n timpul evalu
arii.
Presupunem c
a limbajul de asamblare include urmatoarele instructiuni:
inc P
dec P
Ad R
Mu R
ld R
st R
print

operator de incrementare a pozitiei primului loc liber din stiva


operator de decrementare a pozitiei primului loc liber din stiva
aduna valoarea din varful stivei prin continutul lui R si depune rezultatul n R
inmulteste valoarea din varful stivei prin continutul lui R si depune rezultatul n R
valoarea din varful stivei este depusa n R
valoarea din R este depusa n varful stivei
tip
areste valoarea din varful stivei

Semantica unei expresii va fi programul care evalueaz


a expresia si imprima rezultatul evalu
arii. Pentru
definirea acesteia se va folosi metoda semanticii algebrei initiale.
Toate cele 5 suporturi ale algebrei semantice, corespunzatoare neterminalelor, sunt identice si coincid
cu multimea buc
atilor de program(siruri de instructiuni separate prin ;). Astfel de buc
ati de programe
vorfi notete cu litere grecesti.
Cele 10 operatii ale algebrei semantice, corespunzatoare productiilor sunt:
1S
2S
3S
4S ()
5S ()
6S ()
7S (,)
8S ()
9S (,)
0S ()

=
=
=
=
=
=
=
=
=
=

st x ; inc P
st y ; inc P
st z ; inc P

; ; dec P ; ld R ; dec P ; Mu R ; st R ; inc P

; ; dec P ; ld R ; dec P ; Ad R ; st R ; inc P


; dec P ; print

Notam cu S algebra semantic


a de mai sus, cu A algebra arborilor de derivare si cu C : A S unicul
morfism de algebre existent. Morfismul C este modelarea algebric
a a compilatorului.

Conform metodei semanticii algebrei initiale rezult


a c
a C(A) este programul care evalueaz
a si tip
areste
rezultatul pentru expresia x + y (x + y) z + z.

3.1

Program

Prezentam calculele care dovedesc afirmatia de mai sus.


C(a) = 8S (6S [4S (1S )]) = 1S si C(b) = 6S (4S (3S )) = 3S
Notand c = 7[ 5{9(a,6[4(2)])},b ]
C(c) = 7S [ 5S {9S (1S ,6S [4S (2S )])},3S ] = 7S [ 9S (1S ,2S ),3S ] =
9S (1S ,2S ),3S ; dec P ; ld R ; dec P ; Mu R ; st R ; inc P =
1S ; 2S ; dec P ; ld R ; dec P ; Ad R ; st R ; inc P ; 3S ; dec P ; ld R ; dec P ; Mu R ; st R ; inc P =
st x ; inc P; st y ; inc P ; dec P ; ld R ; dec P ; Ad R ; st R ; inc P ; st z ; inc P; dec P ; ld R ; dec P ;
Mu R ; st R ; inc P
Deoarece A = 0(9[9{a, 7(4[2], c) },b]) deducem
C(A) = 0S (9S [9S {1S , 7S (2S ,C(c)) },3S ]) = 0S (9S [9S {1S , 7S (2S ,C(c)) },3S ]) =
9S [9S {1S , 7S (2S ,C(c)) },3S ] ; dec P ; print =
9S {1S , 7S (2S ,C(c)) } ; 3S ; dec P ; ld R ; dec P ; Ad R ; st R ; inc P ; dec P ; print =
1S ; 7S (2S ,C(c)) ; dec P ; ld R ; dec P ; Ad R ; st R ; inc P ; 3S ; dec P ; ld R ; dec P ; Ad R ; st R ;
inc P ; dec P ; print =
1S ; 2S ; C(c) ; dec P ; ld R ; dec P ; Mu R ; st R ; inc P ; dec P ; ld R ; dec P ; Ad R ; st R ; inc P ;
3S ; dec P ; ld R ; dec P ; Ad R ; st R ; inc P ; dec P ; print =
st x ; inc P ; st y ; inc P ; st x ; inc P ; st y ; inc P ; dec P ; ld R ; dec P ; Ad R ; st R ; inc P ; st z ;
inc P ; dec P ; ld R ; dec P ; Mu R ; st R ; inc P ; dec P ; ld R ; dec P ; Mu R ; st R ; inc P ; dec P ; ld R
; dec P ; Ad R ; st R ; inc P ; st z ; inc P ; dec P ; ld R ; dec P ; Ad R ; st R ; inc P ; dec P ; print

3.2

Optimizare cod

Se obsrv
a c
a programul de mai sus poate fi simplificat. Eliminand instructiunile inc P ; dec P al
caror efect cumulat este nul obtinem programul
st x ; inc P ; st y ; inc P ; st x ; inc P; st y ; ld R ; dec P ; Ad R ; st R ; inc P ; st z ; ld R ; dec P ;
Mu R ; st R ; ld R ; dec P ; Mu R ; st R ; ld R ; dec P ; Ad R ; st R ; inc P ; st z ; ld R ; dec P ; Ad R ;
st R ; print
Mai observ
am c
a grupul de instructiuni st R ; ld R ; dec P are acelasi efect ca instruciunea dec P
ceea ce conduce la programul
st x ; inc P ; st y ; inc P ; st x ; inc P; st y ; ld R ; dec P ; Ad R ; st R ; inc P ; st z ; ld R ; dec P ;
Mu R ; dec P ; Mu R ; dec P ; Ad R ; st R ; inc P ; st z ; ld R ; dec P ; Ad R ; st R ; print

si ALGEBRE PROIECTIVE
7 ALGEBRE CAT
Virgil Emil Cazanescu
May 24, 2008
Dac
a f : A B este o functie se numeste echivalenta nuclear
a a lui f , sau mai pe scurt nucleul lui f
Ker(f ) = {(a, b) A A : f (a) = f (b)}.
Echivalenta nucleara a unei functii este o relatie de echivalenta. In cazul multisortat nucleul este luat pe componente, adica pentru fiecare sort n parte.

Congruente

O relatie de echivalent
a ntr-o -algebr
a (As , A ) este de fapt o familie de relatii de echivalente, c
ate una pentru
fiecare multime As . O congruent
a este o relatie de echivalenta care este compatibila cu operatiile algebrei. De fapt
compatibilatea trebuie cerut
a numai pentru operatiile cu argumente c
aci pentru o constant
a A A rezulta din
reflexivitate.
Definitia 1.1 O congruent
a n -algebra (As , A ) este o relatie de echivalenta cu proprietatea pentru orice
s1 s2 . . . sn S , pentru orice s S, pentru orice s1 s2 ...sn ,s , daca ai bi n Asi pentru orice 1 i n, atunci
A (a1 , a2 , . . . an ) A (b1 , b2 , . . . , bn ).
Cea mai mica congruent
a este relatia de egalitate. Cea mai mare congruenta este relatia total
a.
Propozitie 1.2 Dac
a h : A B este un -morfism, atunci Ker(h) este o congruenta
.
Demonstratie: Fie s1 s2 . . . sn S , s S si s1 s2 ...sn ,s . Presupunem c
a ai Ker(hsi ) bi n Asi pentru orice
1 i n. Rezult
a c
a hsi (ai ) = hsi (bi ) pentru orice 1 i n. Prin urmare
hs (A (a1 , a2 , . . . , an )) = B (hs1 (a1 ), hs2 (a2 ), . . . , hsn (an )) = B (hs1 (b1 ), hs2 (b2 ), . . . , hsn (bn )) = hs (A (b1 , b2 , . . . , bn ))
prin urmare A (a1 , a2 , . . . , an ) Ker(hs ) A (b1 , b2 , . . . , bn ) deci Ker(h) este congruenta
.
Propozitie 1.3 Orice intersectie de congruente este tot o congruenta
.
Demonstratie: Fie {k }kK o multime de congruente si
\
=
k .
kK

Prob
am c
a este congruenta
.
Fie s1 s2 . . . sn S , fie s S, fie s1 s2 ...sn ,s si ai bi n Asi pentru orice 1 i n.
Pentru orice k K deoarece k este congruenta
, fiindc
a ai k bi n Asi pentru orice 1 i n deducem
A (a1 , a2 , . . . an ) k A (b1 , b2 , . . . , bn ).
Deci
A (a1 , a2 , . . . an ) A (b1 , b2 , . . . , bn ).
Aceasta propozitie ne spune c
a multimea congruentelor unei algebre este o familie Moore. Incercati sa caracterizati
operatorul de nchidere asociat.

1.1

Congruente de grupuri

Grupurile sunt privite ca algebre cu trei operatii: una binara , una unara * si o constant
a e. Dou
a conditii se
impun pentru conceptul de congruenta
1. a b si c d implic
a a c b d,
2. a b implic
a a b .
Practic ram
ane numai una deoarece a doua conditie este o consecinta a primeia: folosind reflexivitatea din a a ,

a b si b b deducem a a b a b b , prin urmare b a , deci a b .


Propozitie 1.4
In orice grup conceptul de congruenta este echivalent cu cel de subgrup normal
Demonstratie:
1 Dat
a o congruent
a clasa elementului neutru este un subgrup normal.
2 Dat un subgrup normal N relatia definita prin
a b daca si numai daca a b N
este o congruent
a. 2
Conceptul de parte stabila coincide cu cel de subgrup.
Conceptul de morfism de -algebr
a coincide cu cel de morfism de grup.

1.2

Congruente de inele

Pentru simplicitate vom prefera cazul comutativ.


Signatura conceptului de inel contine pe langa cele trei operatii corespunz
atoare grupurilor nc
a doua simboluri
de aritate 2, respectiv 0 corespunz
atoare structurii monoidului multiplicativ. Av
and n vedere cazul grupurilor este
suficient sa punem conditia de congruent
a numai pentru cele doua operatii binare.
Propozitie 1.5
In orice inel comutativ conceptul de congruenta
este echivalent cu cel de ideal.
Demonstratie:
1 Dat
a o congruent
a clasa elementului neutru este un ideal.
2 Dat un ideal N relatia definit
a prin
a b daca si numai daca a b N
este o congruent
a. 2
Conceptul de parte stabila coincide cu cel de subinel.
Conceptul de morfism de -algebr
a coincide cu cel de morfism de inel.

1.3

Concluzie

Conceptul de congruent
a este cel important. Este un fapt nt
amplator c
a pentru anumite structuri algebrice
congruentele pot fi caracterizate de unele substructuri particulare.

Algebre c
at

Proprietatea de universalitate a multimii c


at. Fie o relatie de echivalenta n multimea A. Fie A/ multimea
c
at si : A A/ surjectia naturala de factorizare. Pentru orice functie f : A B daca Ker(f ), atunci
exista o unic
a functie f # : A/ B cu proprietatea ; f # = f. 2
Fie (As , A ) o -algebr
a si o congruenta. Definim operatiile algebrei c
at
A/ = ({As / }sS , A/ )
pentru orice s1 s2 . . . sn S , s S, s1 s2 ...sn ,s si ai Asi pentru orice 1 i n prin
d
A/ (ab1 , ab2 , . . . , ac
n ) = A (a1 , a2 , . . . , an ).

Teorema 2.1 Proprietatea de universalitate a algebrei c


at. Pentru orice morfism de -algebre f : A B
dac
a Ker(f ), atunci exist
a un unic morfism de -algebre f # : A/ B cu proprietatea ; f # = f.
Demonstratie:
Din proprietatea de universalitate a multimii c
at deducem existenta unei unice functii
f # : A/ B cu proprietatea ; f # = f. Observam c
a fs# (
a) = fs (a) pentru orice s S si a As . Mai
trebuie sa demonstram c
a functia f # este un morfism de -algebre.

a
Fie s1 s2 . . . sn S , s S, s1 s2 ...sn ,s si ai Asi pentru orice 1 i n. Observam c
#
d
fs# (A/ (ab1 , ab2 , . . . , ac
n )) = fs (A (a1 , a2 , . . . , an )) = fs (A (a1 , a2 , . . . , an )) = B (fs1 (a1 ), fs2 (a2 ), . . . , fsn (an )) =

an )).
B (fs#1 (ab1 ), fs#2 (ab2 ), . . . , fs#n (c

Deci f # este morfism de -algebre. 2


S
a se arate c
a pentru orice -morfism h : A B algebrele A/Ker(h) si h(A) sunt izomorfe.

Algebre proiective

Fie (S, ) o signatur


a multisortata. Vom lucra n categoria -algebrelor Alg . Pentru simplicitate vom scrie pe
scurt algebra si morfism n loc de -algebr
a si respectiv morfism de -algebre.
Cei care nu sunt interesati de toate detaliile pot sari peste propozitia urmatoare dar n continuare pot lua drept
definitie pentru -algebre: epimorfism = morfism cu toate componentele surjective.
Intr-o categorie, un morfism e : A B se numeste epimorfism daca pentru orice pereche de morfisme f : B C
si g : B C dac
a e; f = e; g, atunci f = g.
Propozitie 3.1 Fie A si B dou
a (S, )-algebre si h : A B un (S, )-morfism. Morfismul h este epimorfism n
A dac
a si numai dac
a hs este surjectiv pentru orice s S.
Demonstratie: Fie A = ({As }sS , {A } ) si B = ({Bs }sS , {B } ).
() Fie C o (S, )-algebra si m, n : B C doua morfisme astfel nc
at h; m = h; n. Rezult
a c
a hs ; ms = hs ; ns pentru
a hs este epimorfism n categoria multimilor, deci
orice s S. Deoarece pentru orice s S, hs este surjectiv rezulta c
ms = ns . Am demonstrat c
a m = n.
() Fie C = {Cs }sS o multime S-sortat
a, cu Cs = Bs (Bs hs (As )) pentru orice s S. Simbolul indica o
reuniune disjuncta de multimi.
Fie : B C functia incluziune de multimi S-sortate si r : B C definit prin

b, daca b hs (As )
rs (b) =
b daca b Bs hs (As )
pentru orice s S si b Bs (pentru b Bs hs (As ) am notat cu b elementul care i corespunde n Cs ).
In continuare vom defini pe C o structur
a de (S, )-algebra astfel nc
at si r sa devin
a morfisme de (S, )-algebre.
Fie s1sn,s . Definim:
1) C (b1, . . . , bn) = B (b1, . . . , bn) dac
a bi Bsi pentru orice i [n];
2) C (rs1 (b1), . . . , rsn (bn)) = rs (B (b1, . . . , bn)) daca bi Bsi pentru orice i [n];
3) n celelalte situatii operatia C poate fi definita oricum.
3

S
a demonstram c
a definitia de mai sus nu este contradictorie.
Fie b1 Bs1 , . . ., bn Bsn astfel nc
at rsi (bi) = bi Bsi pentru orice i [n]. Atunci bsi hsi (Asi ) de unde
rezulta c
a B (b1, . . . , bn) hs (As ) si deci B (b1, . . . , bn) = rs (B (b1, . . . , bn)).
Din 1) rezulta c
a este morfism iar din 2) rezulta c
a r este morfism.
Am definit astfel o (S, )-algebra C = ({Cs }sS , {C } ) si doua morfisme , r : B C. Se observa c
a h = hr
deoarece pe h(A) cele doua morfisme actioneaz
a la fel. Deoarece h este epimorfism rezulta c
a = r de unde obtinem
Bs = hs (As ) pentru orice s S (dac
a exista s S astfel nc
at Bs hs (As ) 6= atunci exista b Bs hs (As ) si
a h este epimorfism). Am demonstrat c
a hs este surjectie
(b) = b, r(b) = b deci 6= r ceea ce contrazice faptul c
pentru orice s S. 2
Intr-o categorie, un obiect P se numeste proiectiv daca pentru orice epimorfism e : A B si pentru orice
morfism f : P B exista un morfism g : P A astfel nc
at g;e = f.
Propozitie 3.2 In Alg orice algebr
a liber
a este proiectiv
a.
Demonstratie: Fie A, B doua (S, )-algebre si X o multime S-sortat
a de variabile. Dac
a e : A B este un
morfism cu toate componentele surjective si f : T (X) B este un morfism oarecare trebuie sa demonstram c
a
exista un morfism g : T (X) A astfel nc
at g; e = f .
Pentru a defini morfismul g este suficient sa d
am actiunea lui pe variabile.
Fie s S si x Xs . Deoarece es este surjectiv, deci exista ax As astfel nc
at fs (x) = es (ax ). Definim g ca
fiind unicul morfism cu proprietatea c
a gs (x) = ax pentru orice s S si pentru orice x Xs . Este evident faptul c
a
(g; e)s (x) = fs (x) pentru orice s S si orice x Xs . Deoarece morfismele g; e si f coincid pe generatorii algebrei
libere T (X) rezulta c
a g; e = f si demonstratia este ncheiata. 2
Comentariu. Faptul c
a gs (x) poate fi ales arbitrar n e1
a unicitatea lui g. 2
s ({fs (x)}) nu garanteaz
Lem
a 3.3 Orice subalgebr
a a unei algebre libere este algebr
a liber
a.
Demonstratie: Intr-o algebra definim relatia
a b daca si numai daca a = (. . . , b, . . .).
Observam c
a n orice algebra liber
a relatia este noetherian
a.
Fie P o subalgebra a unei algebre libere L. Relatia este noetherian
a si n subalgebra P.
Fie X multimea tuturor elementelor din P care nu sunt rezultatul aplic
arii vreunei operatii din P unor elemente
din P. Vom dovedi ca X, subalgebra generata de X, este chiar P. Presupunem prin absurd c
a exista p0 P X.
Deoarece p0 6 X el este rezultatul aplic
arii cel putin al unei operatii. In plus cel putin unul dintre argumentele
acestei operatii nu este din X deoarece n caz contrar obtinem contradictia p0 X. Prin urmare exista p1 P X
astfel nc
at p0 p1 . Continu
and rationamentul prin inductie ar rezulta c
a relatia nu este noetherian
a n P, o
contradictie.
Observam c
a P este algebra Peano peste X. Chiar din definitia lui X rezulta c
a rezultatul aplic
arii unei operatii
din P unor elemente din P nu este n X. Ultima conditie din definitia algebrelor Peano este adevarata n P deoarece
este adevarata n L.
Deci P este liber generata de X deoarece este Peano peste X.
Propozitie 3.4 In Alg orice algebr
a proiectiv
a este liber
a.
Demonstratie: Fie P o algebra proiectiv
a. Fie : T (P ) P unicul morfism a c
arui restrictie la P este 1P ,
identitatea lui P . Evident este epimorfism.
Deoarece P este o algebra proiectiv
a exista un morfism g : P T (P ) cu proprietatea g; = 1P . Obserevam
c
a g este o injectie. Prin urmare algebra P este izomorf
a cu subalgebra g(P ) a lui T (P ).
Algebra g(P ) este liber
a deoarece este subalgebra a unei algebre libere.
Algebra P este liber
a deoarece este izomorf
a cu o algebra libera.

8 SPRE ABSTRACTIZAREA TIPURILOR DE DATE


Virgil Emil Cazanescu
March 22, 2008

Ecuatii

S
a analizam conceptul de axiom
a asa cum apare el n algebra. De exemplu comutativitatea si asociativitatea se scriu
(xy)x?y = y?x

(xyz)x?(y?z) = (x?y)?z.

Ce sunt acestea? Sunt egalitati de doua expresii cuantificate universal prin multimea variabilelor continute n cele
doua expresii. Deci o astfel de axiom
a are forma
.

(X)l = r
unde l si r sunt din algebra liber generata de multimea X de variabile.
Ce nseamn
a c
a o axiom
a este adevarata ntr-o algebra D? Intuitiv este necesar ca rezultatul evalu
arii celor dou
a
expresii l si r n algebra D sa fie acelasi indiferent de valorile date n D variabilelor din X. Aceasta idee intuitiva
conduce la:
.

Definitia 1.1 Axioma (X)l = r este satisfacut


a n algebra D daca si numai daca pentru orice morfism
h : T (X) D este adevarata egalitatea h(l) = h(r).
.
In continuare vom folosi pentru (X)l =
r termenul de ecuatie n locul celui de axioma, pentru a ne conforma cu
terminologia international
a.
In plus vor intra n joc si asa zisele ecuatii conditionate. De exemplu
(xyz)(x y = x z y = z)
ceea ce corespunde axiomei de simplificare la stanga care este adevarata n orice grup sau n orice monoid liber.

Ecuatii conditionate

In logica ecuational
a o axiom
a este o implicatie
a1 = c1 , a2 = c2 , . . . , an = cn a = c
unde ipoteza este o conjunctie de egalitati formale si concluzia o egalitate formala. Toat
a implicatia este cuantificat
a
universal, fapt care nu apare scris mai sus. In acest cadru o axioma, numita n continuare si ecuatie conditionata a
logicii ecuationale, poate fi scrisa sub forma
.
(X) a =s c if H
unde a si c sunt elemente de acelasi sort s, iar H este o multime finit
a de egalitati formale din algebra liber generata
de multimea X de variabile. Ipoteza implicatiei este data de multimea H.
Pentru a verifica dac
a o algebra D satisface axioma de mai sus se dau valori arbitrare variabilelor din X n D fapt
ce poate fi facut printr-o functie arbitrara f : X D sau echivalent printr-un morfism arbitrar h : T (X) D.
Apoi se evalueaz
a expresiile din H pentru a se verifica daca rezultatul evaluarii conduce la egalitati adevarate, caz
.
n care trebuie ca hs (a) = hs (c). Deci -algebra D satisface ecuatia conditionata (X)a =s c if H fapt notat prin
.

D |= (X) a =s c if H
daca si numai dac
a
(h : T (X) D) (u =t v H)ht (u) = ht (v) implic
a hs (a) = hs (c).
.

Credem c
a este bine sa mention
am diferenta esentiala ntre semnele =s si =, diferenta care va fi mentinuta constant
.
pe parcursul ntregului text. Egalul peste care s-a pus un punct (=s ) indica o egalitate formala care poate fi adevarata
sau falsa. Egalul = are semnificatia uzuala indicand deobicei o egalitate adevarata.
1

Necesitatea utiliz
arii cuantificatorilor n ecuatii

Vom
ilustra
printr-un
exemplu
necesitatea
utilizarii
cuantificatorilor
n
ecuatiile
logicii
ecuationale multisortate.
Fie signatura S = {a, bool} si = {g, F, T }. Rangurile simbolurilor de operatii sunt date prin desenul urmator :
F
.
- bool 

T
Vom lucra cu doua algebre.
algebra initiala este I = (, {F, T }, Ig , IF , IT ) unde F 6= T , IF = F , IT = T si Ig : {F, T } este functia
incluziune.
Pentru orice variabil
a x de sort a, -algebra liber generata de aceasta variabil
a T ({x}, ) are suporturile {x} si
{g(x),F,T}.
Are loc relatia I |= F = T ? Sau mai intuitiv: este egalitatea F = T adevarata n algebra I? Vom arata c
a
raspunsul depinde de algebra liber
a n care este scrisa egalitatea.
Sunt posibile cel putin doua variante.
a

1. I |= ()T = F h : I I morfism, hbool (F ) = hbool (T ),


ceea ce este fals deoarece hbool (F ) = F 6= T = hbool (T ).
2. I |= (x)T = F h : T ({x}, ) I morfism, hbool (F ) = hbool (T ),
ceea ce este adev
arat deoarece nu exista nici un morfism h : T ({x}, ) I.
Am aratat c
a I |= ()T = F este falsa si c
a I |= (x)T = F este adevarata. Dac
a omitem cuantificatorii
obtinem: I |= T = F este falsa si I |= T = F este adevarata.
Contradictia obtinuta prin omiterea cuantificatorilor din fata egalitatii F = T arata c
a n logica ecuational
a
multisortata prezenta cuantificatorilor n ecuatii este necesara.

In primul r
and semantica

Pentru orice algebra D = (Ds , D ) not


am cu
.

Sen(D) = {a =s c : s S, a, c Ds }
multimea propozitiilor sale. Propozitiile sunt de fapt egalitati formale care pot fi adevarate sau false.
S
a observam c
a Sen(D) se poate identifica cu produsul cartezian D D. Poate cea mai buna reprezentare a unei
propozitii din D este un triplet format dintr-un sort s si doua elemente de sort s din D.
Definitia 4.1 O ecuatie conditionat
a este

(X)l =s r if H
unde X este o multime S-sortata de variabile, l si r sunt doua elemente de sort s din T (X) iar H o multime finit
a
de egalitati formale din T (X). 2
O ecuatie conditionat
a n care H = devine neconditionata si este numita pe scurt ecuatie. In acest caz scriem doar
.
.
(X)l =s r n loc de (X)l =s r if .
.

Definitia 4.2 Algebra D satisface ecuatia conditionata (X)l =s r if H, fapt notat prin
.

D |= (X)l =s r if H
.

daca pentru orice morfism h : T (X) D pentru care hs (u) = hs (v) pentru orice u =s v H, avem hs (l) = hs (r).
2
In cele ce urmeaza indicele din |= va fi omis. El va fi mentionat atunci c
and este pericol de confuzie.
.
Observam c
a D |= (X)l =s r dac
a si numai daca hs (l) = hs (r) pentru orice morfism h : T (X) D.
In continuare fix
am o multime de ecuatii conditionate, numite axiome.
Definitia 4.3 Spunem c
a algebra D satisface sau c
a D e o -algebr
a si scriem D |= daca D satisface toate
ecuatiile conditionate din .
Un morfism de -algebre ntre doua -algebre se numeste morfism de -algebre sau mai scurt -morfism. 2
2

Punctul de vedere local

Fix
am o algebra A si lucram cu propozitii din Sen(A). Acesta este punctul local de vedere al logicii ecuationale.
Cazul n care ne intereseaza propozitii din algebre diferite este numit global dar va fi putin folosit n acest curs. In
.
.
cazul global o propozitie din D va fi scrisa (D)a =s c n loc de a =s c. Notatia fara cuantificatori folosita n cazul
local nu contrazice ceea ce am scris despre necesitatea utilizarii cuantificatorilor n ecuatii. Pur si simplu nu scriem
cuantificatorul pentru c
a fix
and algebra A el va fi mereu acelasi (A) si deci l stim chiar daca nu-l vedem scris.
O alt
a idee pe care dorim sa o subliniem este folosirea unei algebre arbitrare A n locul unei algebre libere.
Principalele rezultate privind rescrierile, care se refera atat la rescrierile de termeni c
at si la rescrierile modulo
ecuatii, ram
an valabile n acest cadru mai general. Aceasta prezentare unitar
a a diverselor tipuri de rescriere este
de fapt contributia autorului la modernizarea lectiilor despre rescriere. Exista n lume trei c
arti privind rescrieriile.
Cea mai veche este Term Rewriting and All That, scrisa de Franz Baader si Tobias Nipkow.
Mention
am c
a algebra A nu are leg
atura cu algebra T (X) folosita n vreo axioma (X)l =s r if H din .
Mention
am si c
a n axiome diferite putem folosi algebre libere diferite. Aceasta corespunde cazului practic, de
exemplu scriem comutativitatea xy = yx ntr-o algebra libera cu doi generatori x si y iar asociativitatea (xy)z = x(yz)
ntr-o algebra liber
a cu trei generatori x, y si z.

Semantic
a si Corectitudine

Vom lucra ntr-o -algebr


a A. Vom grupa ntr-o relatie toate tautologiile(propozitiile valide) din algebra ale logicii
ecuationale.
Fie A
ia pe A definit
a prin
relat
a A
a si numai daca (h : A M |= )hs (a) = hs (c).
c dac
Dac
a nu exista pericol de confuzie vom prefera sa scriem n loc de A
.
Observam c
a
\
=
{Ker(h) | h : A M |= }.
Deoarece nucleul unui morfism este o relatie de congruenta si deoarece orice intersectie de relatii de congruente este
o relatie de congruent
a, deducem c
a este o relatie de congruenta.
este numita congruent
a semantic
a.
Definim regula de deductie a substitutiei utilizata atat n logica ecuational
a c
at si n rescrierea termenilor.
Sub

Pentru orice (X) l =s r if H si orice morfism h : T (X) A


.
.
.
a hs (l) =s hs (r).
(u =s v H)hs (u) =s hs (v) implic

Lem
a 6.1 Pentru orice morfism f : A M |= , Ker(f ) este nchis la Sub .
.

Demonstratie: Fie (X)l =s r if H n si h : T (X) A un morfism cu proprietatea c


a ht (u) Ker(f ) ht (v)
.
.
pentru orice u =t v H. Prin urmare (h; f )t (u) = (h; f )t (v) pentru orice u = v H. Deoarece
h; f : T (X) M |= rezulta c
a (h; f )s (l) = (h; f )s (r), deci hs (l) Ker(f ) hs (r).2
Propozitie 6.2 Congruenta
semantic
a este nchis
a la substitutie.
Demonstratie: Congruenta semantic
a este o intersectie de congruente nchise la substitutie. Deoarece o intersectie
de congruente nchise la substitutii este o congruenta nchis
a la substitutii rezulta c
a este o congruenta nchis
a
la substitutie. 2
Propozitie 6.3 Dac
a este o congruenta
nchis
a la substitutii, atunci A/ |= .
Demonstratie: Not
am cu : A A/ morfismul de factorizare canonic.
.
.
Fie (X)l =s r if H n si h : T (X) A/ un morfism astfel nc
at ht (u) = ht (v) pentru orice u =t v H.
.
Cum T (X) este algebra proiectiv
a exista un morfism f : T (X) A astfel nc
at f ; = h. Pentru orice u =t v H
deoarece t (ft (u)) = t (ft (v)) deducem ft (u) ft (v).
Deoarece este o congruent
a nchis
a la substitutii obtinem fs (l) fs (r). Prin urmare s (fs (l)) = s (fs (r)), de
unde hs (l) = hs (r). 2
Fie A factorizarea lui A prin congruenta si fie : A A morfismul c
at.
3

Teorema 6.4 A |=
Demonstratie: Se aplic
a propozitiile 6.2 si 6.3. 2
Teorema 6.5 Pentru orice -algebr
a B si pentru orice morfism h : A B exist
a si este unic un morfism
h# : A B astfel nc
at ; h# = h.
Demonstratie: Este suficient sa ar
atam c
a a c implic
a h(a) = h(c) si aplic
am proprietatea de universalitate a
algebrei c
at. Intr-adev
ar a c implic
a h(a) = h(c) deoarece h : A B |= . 2
Corolar 6.6 Dac
a A este -algebr
a initial
a, atunci A este -algebr
a initial
a.
Corolar 6.7 Pentru orice signatur
a si pentru orice multime de ecuatii conditionate exist
a o -algebr
a initial
a.
B
Propozitie 6.8 Fie h : A B un morfism. Dac
a a A
c, atunci h(a) h(c).

Demonstratie: Fie f : B C |= . Din a A


c folosind morfismul h; f : A C |= deducem (h; f )(a) =
(h; f )(c), prin urmare f (h(a)) = f (h(c)). Deci h(a) B
h(c).

Problema program
arii prin rescriere

Principala problem
a este : poate o masin
a s
a demonstreze c
a a c?.
Se stie c
a n unele cazuri rescrierile ne dau o solutie.

Tipuri abstracte de date

Am vazut n lectiile precedente c


a orice signatur
a determina prin algebra sa initiala un tip abstract de date. Tipul
abstract de date al numerelor naturale a fost determinat de signatura formata din constanta 0 si operatia unar
a
cunoscuta sub numele de succesor.
Acum am pus n evident
a un instrument mai puternic deoarece orice signatur
a mpreuna cu o multime de
ecuatii conditionate determina prin -algebra initiala, a c
arei existenta am dovedit-o mai sus, un tip abstract de
date.

8.1

Tipul abstract al numerelor naturale - continuare

Consideram signatura cu un singur sort nat, o singura constant


a de sort nat si o singura operatie unar
a cu argument
si rezultat de sort nat:
sort nat .
op 0 : nat .
op s : nat nat .
Elementele algebrei initiale sunt
0, s(0), s(s(0)), s(s(s(0))), s(s(s(s(0)))), ...
si ele reprezint
a numerele naturale 0 1 2 3 4 ...
Propozitie 8.1 Algebra (N, 0N , sN ) definit
a prin: N este multimea numerelor naturale, 0N este num
arul natural
zero si sN (n) = n + 1 pentru orice num
ar natural n; este initial
a.
Propozitia anterioar
a ne arata cum pot fi definite numerele naturale prim metoda algebrei initiale ca tip abstract
de date.
Deocamdata prin signatura de mai sus calculatorul nvata numerele naturale dar nu stie nc
a sa calculeze. S
a-l
nvatam sa adune si sa nmulteasca. La cele de mai sus adaugam.
op + : nat nat nat .
var X Y : nat .
eq X + 0 = 0 .
4

eq X + s(Y) = s(X+Y) .
op * : nat nat nat .
eq X * 0 = 0 .
eq X * s(Y) = X*Y + X .
Trebuie sa mention
am c
a egalitatiile de mai sus sunt folosite n doua moduri:
a) ca ecuatii care mpreun
a cu signatura de patru operatii formeaza o multime pentru a defini o structur
a
algebrica si
b) ca reguli de rescriere n timpul executiei programelor.
Propozitie 8.2 Algebra N = (N, 0N , sN , +N , N ) este -algebr
a initial
a.
Demonstratie: Fie A = (A, OA , sA , +A , A ) o -algebra. Mention
am c
a algebra A satisfac ecuatiile din , adica
1)
2)
3)
4)

a +A 0A = a pentru orice a din A,


a +A sA (b) = sA (a + b) pentru orice a, b din A,
a A 0A = 0A pentru orice a din A,
a A sA (b) = a A b +A a pentru orice a, b din A.

Vom proba c
a exista un unic morfism de -algebre de la N la A.
S
a ncepem cu unicitatea. Dac
a h : N A este un -morfism, atunci h : (N, 0N , sN ) (A, 0A , sA ) este
morfism prin urmare coincide cu unicul morfism dat de propozitia de mai sus.
Pentru a demonstra existenta nu avem decat o singura sansa si anume sa dovedim c
a unicul morfism
h : (N, 0N , sN ) (A, 0A , sA ) este si morfism de -algebre. Reamintim c
a
h(0N ) = 0A si pentru orice n numar natural h(n + 1) = sA (h(n)).
Probam c
a h(n +N m) = h(n) +A h(m) prin inductie dupa m
h(n +N 0N ) = h(n) = h(n) +A 0A = h(n) +A h(0N ) si
h(n+N (m+1)) = h(sN (n+N m)) = sA (h(n+N m)) = sA (h(n)+A h(m)) = h(n)+A sA (h(m)) = h(n)+A h(m+1).
Probam c
a h(n N m) = h(n) A h(m) prin inductie dupa m
h(n N 0N ) = h(0N ) = 0A = h(n) A 0A = h(n) A h(0N ) si
h(n N (m + 1)) = h(n N m +N n) = h(n N m) +A h(n) = (h(n) A h(m)) +A h(n) = h(n) A sA (h(m)) =
h(n) A h(m + 1). 2
Propozitia anterioar
a demonstreaza corectitudinea definitiei de mai sus. Deoarece algebra N este initiala rezulta
c
a ea este izomorf
a cu -algebra initiala, deci specificatia de mai sus caracterizeaza prin -algebra sa initiala tipul
de date al numerelor naturale.

MULTISORTATA

2 LOGICA ECUAT
IONALA
Virgil Emil Cazanescu
April 26, 2008
Fie o multime de ecuatii conditionale si o -algebra A fixata.
Multimea propozitiilor adevarate, tautologiile, din A este chiar congruenta semantic
a
.

= {a =s b Sen(A) : (M |= )(f : A M )fs (a) = fs (b)}.


Conform traditiei mai scriem

|= a =s b daca si numai daca a b


Cautam o multime corecta si complet
a de reguli de deductie pentru A
.

Reguli de deductie, corectitudine

Definim prin RE multimea urmatoarelor reguli de deductie pentru logica ecuational


a multisortata:
.

R
S
T
C
Sub

a =s a
.
.
a =s b implic
a b =s a
.
.
.
a =s b si b =s c implic
a a =s c
.
Pentru orice s1 s2 ...sn ,s : ai =si bi pentru 1 i n
.
implic
a A (a1 , a2 , . . . , an ) =s A (b1 , b2 , . . . , bn ).
.
Pentru orice (X) l =s r if H si pentru orice h : T (X) A
.
.
.
ht (u) =t ht (v) pentru orice u =t v H implic
a hs (l) =s hs (r)
.

Conform traditiei not


am prin a =s b faptul c
a egalitatea formala a =s b este demonstrabil
a cu regulile de mai sus.
Observatia 1.1 Observ
am c
a o multime de egalit
ati formale este nchis
a la regula T dac
a si numai dac
a este o
relatie tranzitiv
a.
Mai observam c
a astfel de observatii pot fi f
acute pentru oricare din regulile de mai sus.
Teorema 1.2 Regulile de deductie RE sunt corecte pentru .
Demonstratie: Deoarece este congruenta rezulta ea este nchis
a la primele patru reguli, prin urmare ele sunt
corecte pentru . Corectitudinea ultimei reguli rezulta din nchiderea congruentei semantice la substitutii. 2
.

Corolar 1.3 a =s b implic


a |= a =s b. 2
Demonstratie: Deoarece congruenta semantic
a este nchis
a la RE si deoarece multimea egalitatilor formale demonstrabile este cea mai mica multime nchis
a la RE .

Completitudine

Pentru orice s S si a, b As se defineste relatia in A prin:


.

a b a =s b.
Deoarece regulile R, S si T sunt n RE deducem c
a este o echivalenta. Mai mult, deoarece C este n RE rezulta
c
a este congruent
a.
Fie A c
atul lui A prin si fie A : A A -morfismul canonic de factorizare. Deoarece este nchis
a la
substitutii rezulta:
1

Observatia 2.1 A |=
.

Teorema 2.2 Teorem


a de completitudine: |= a =s b implic
a a =s b.
.
Demonstratie: Fie |= a =s b. Din definitia tautologiilor deducem (h : A B |= ) hs (a) = hs (b). Intrucat
.
A |= si A : A A este -morfism rezulta c
a A (a) = A (b). Prin urmare a b, deci a =s b. 2

In concluzie congruentele si coincid. Prin urmare algebra A si morfismul A coincid cu cele introduse
ntr-un mod numai aparent diferit n lectia precedent
a. Proprietatea de universalitate a algebrei A demonstrat
a
atunci ram
ane adevarata si n noul context.
Urmatorul pas dupa o teorem
a de completitudine care ne asigura existenta unei demonstratii pentru orice tautologie este de a gasi aceste demonstratii. Informaticienii sunt ceva mai pretentiosi deoarece doresc ca acete demonstratii
sa fie g
asite de un calculator.


3 RESCRIERE LOCALA
VEC
May 26, 2008
Rescrierile sunt un fapt pe care-l nt
alnim din primii ani de scoal
a. De exemplu n sirul de egalitati
2 (3 + 4) = 2 7 = 14
facem doua rescrieri(nlocuiri): 3+4 esre rescris n 7 si apoi 2*7 este rescris n 14. Aceste rescrieri sunt permise de
regulile adunarii si nmultirii. Partea expresiei care ram
ane neschimbata deoarece rescrierea are loc n interiorul ei
se numeste context. La prima rescriere contextul este 2 z, unde z este un semn special care arata locul n care se
face rescrierea. Deoarece a doua rescriere se face la varf contextul este z.
De obicei rescrierile se fac de la expresii mai complicate spre expresii mai simple. Rescrierea lui 3+4 n 7 este
ceva firesc, pe c
and rescrierea lui 7 n 3+4 este ceva artificial. Dece 3+4 si nu 2+5? Prin urmare spre deosebire de
egalitate care este simetric
a, rescrierea nu este simetric
a.
Deoarece se doreste ca rescrierile sa fie facute de calculator, practica program
arii ne d
a un argument foarte
puternic mpotriva simetriei. Simetria este o regula care conduce la neterminarea programelor, deoarece dupa ce am
rescris a n b putem rescrie pe b n a, pe a n b si asa mai departe.
Eliminarea simetriei dintre regulile de deductie este principala diferenta dintre calculul cu egalitati reflectat de
logica ecuational
a. Deoarece eliminarea simetriei duce la pierderea completitudinii, simetria va trebui nlocuita cu
altceva pentru a reobtine completitudinea.

Preliminarii

Signatura , multimea de axiome si algebra A n care se fac rescrierile(localizare) sunt fixate.


Fie X o multime Ssortat
a de variabile si T (X) algebra liber generata de X. Pentru orice x X si T (X),
vom nota cu nrx () num
arul de aparitii ale lui x n . Observam c
a nrx (x) = 1, nrx (y) = 0 pentru orice y X {x}
si nrx ((e1 , e2 , . . . , ek )) = nrx (e1 ) + nrx (e2 ) + . . . nrx (ek ).
Fie A o algebr
a, z o variabil
a de sort s, z
/ As . Consideram algebra liber generata de A {z}, si anume
T (A {z}) pe care o not
am A[z].
Un element c din A[z] se numeste context daca nrz (c) = 1. Dac
a c = (c1 , c2 , . . . , cn ) este un context, atunci
exista un 1 i n astfel nc
at ci este context si cj T (A) pentru orice j 6= i.
Pentru d As , vom nota cu z d : A[z] A unicul morfism de algebre cu proprietatea (z d)(z) = d si
(z d)(a) = a pentru orice a A.
Pentru orice t din A[z] si a As , vom prefera sa scriem t[a] n loc de (z a)(t).
Dac
a n t nu apare z, adica t este din -algebra liber generata de A, atunci t[a] = t[d] pentru orice a, d As .

Inchiderea la contexte

Definitia 2.1 O relatie Q pe A se numete nchis


a la contexte daca pentru orice context c si pentru orice pereche
de elemente a, d din As , a Q d implic
a c[a] Q c[d].
Introducem regula de deductie
CA

a A (a1 , . . . , ai1 , a, ai+1 , . . . , an ) =s A (a1 , . . . , ai1 , d, ai+1 , . . . , an )


a =si d implic
( s1 ...sn ,s , orice 1 i n, unde aj Asj pentru orice j {1, . . . , i 1, i + 1, . . . , n} si a, d Asi .

Definitia 2.2 O relatie A A se numeste compatibil


a pe argumente cu operatiile algebrei A daca este
nchis
a la CA.
1

Propozitie 2.3 O relatie este nchis


a la contexte dac
a si numai dac
a este compatibil
a pe argumente cu operatiile
algebrei.
Demonstratie: Presupunem Q nchis
a la contexte. Pentru a demonstra compatibilitatea pe argumente cu operatia
aplic
am ipoteza pentru un context de forma (a1 , . . . , ai1 , z, ai+1 , . . . , an ).
Reciproca se arat
a prin inductie structural
a n A[z].
Pasul 0: c = z. Pentru orice (a, d) Q, c[a] = a, c[d] = d, deci (c[a], c[d]) Q.
Pentru un context c = (a1 , . . . , ai1 , c , ai+1 , . . . , an ) unde c A[z] este un context si ai T (A)
c[a] = (z a)(c) = A (a1 [a], . . . , ai1 [a], c [a], ai+1 [a], . . . , an [a]).
La fel c[d] = A (a1 [d], . . . , ai1 [d], c [d], ai+1 [d], . . . , an [d]). Mai observ
am c
a aj [a] = aj [d] pentru orice j 6= i.
Din ipoteza de inductie c [a] Q c [d] si tin
and cont de compatibilitatea pe argumente obtinem c[a] Q c[d].
Definitia 2.4 Dac
a Q este o relatie pe A vom nota
Q = {(c[a], c[d]) : (a, d) Qs , c A[z] este context unde variabila z are sortul s}.
Propozitie 2.5 Q este cea mai mic
a relatie inchis
a la contexte care include Q.
Demonstratie: Pentru a dovedi c
a Q este inchis
a la contexte, vom prefera s
a ar
at
am c
a este compatibil
a pe
argumente cu opreratiile. Fie (c[a], c[d]) n Q unde (a, d) Q, un simbol de operatie si ai niste elemente din A.
Folosind contextul c = (a1 , . . . , ai1 , c, ai+1 , . . . , an ) deducem c
a (c [a], c [d]) este n Q . Dar calcul
and ca mai
sus
c [a] = A (a1 , . . . , ai1 , c[a], ai+1 , . . . , an ) si c [d] = A (a1 , . . . , ai1 , c[d], ai+1 , . . . , an )
prin urmare (A (a1 , . . . , ai1 , c[a], ai+1 , . . . , an ), A (a1 , . . . , ai1 , c[d], ai+1 , . . . , an )) este n Q .
Incluziunea Q Q se demonstreaz
a folosind contextul z.
Dac
a R este nchis
a la contexte, atunci Q R implic
a Q R. 2

Inchiderea la preordini compatibile cu operatiile

Reamintim regulile de deductie n multimea egalitatilor formale ntre elementele algebrei A denumite Reflexivitate,
Tranzitivitate si Compatibilitate cu operatiile din :
R
T
C

a =s a
.
.
.
a =s d si d =s c implic
a a =s c
.
.
a A (a1 , a2 , . . . , an ) =s A (c1 , c2 , . . . , cn ) pentru orice s1 s2 ...sn ,s
ai =si ci pentru orice i [n] implic

Remarcam c
a C si R implic
a CA.
Reciproca CA, R si T implic
a C este demonstrat
a de lema urmatoare.
Lem
a 3.1 Fie A A o relatie tranzitiv
a si reflexiv
a n algebra A. Dac
a este compatibil
a pe argumente cu
operatiile algebrei A, atunci e compatibil
a cu operatiile, adic
a nchis
a la C.
at ai si bi pentru orice i [n].
Demonstratie: Fie s1 ...sn ,s si ai , bi Asi astfel nc
Ar
at
am c
a A (a1 , . . . , an ) s A (b1 , . . . , bn ).
Dac
a n = 0 din reflexivitate deducem A s A .
Dac
a n = 1 din ipotez
a rezult
a A (a1 ) s A (b1 ).
Dac
a n 2 aplic
and succesiv ipoteza obtinem
A (a1 , a2 , . . . , an ) s A (b1 , a2 , . . . , an ) s A (b1 , b2 , a3 , . . . , an ) s . . . s A (b1 , b2 , . . . , bn )
Din tranzitivitatea relatiei deducem A (a1 , a2 , . . . , an ) s A (b1 , b2 , . . . , bn )

Propozitie 3.2 Q este cea mai mic


a preordine compatibil
a cu operatiile care include Q.

Demonstratie: Deoarece relatia Q este reflexiv


a si tranzitiv
a este suficient s
a demonstr
am compatibilitatea cu

a a Q d implic
a
operatiile numai pe argumente, adic
a s
a ar
at
am pentru fiecare s1 ...sn ,s c

A (a1 , . . . , ai1 , a, ai+1 , . . . , an ) Q A (a1 , . . . , ai1 , d, ai+1 , . . . , an ).


2

Prob
am prin inductie dup
a num
arul pasilor din a Q d. Presupunem deci a Q u si u Q d cu un num
ar
mai mic de pasi, ceea ce prin ipoteza de inductie implic
a

A (a1 , . . . , ai1 , u, ai+1 , . . . , an ) Q A (a1 , . . . , ai1 , d, ai+1 , . . . , an ).


Deoarece Q este compatibil
a pe argumente cu operatiile, din a Q u rezult
a c
a
A (a1 , . . . , ai1 , a, ai+1 , . . . , an ) Q A (a1 , . . . , ai1 , u, ai+1 , . . . , an ).

Prin tranzitivitate obtinem A (a1 , . . . , ai1 , a, ai+1 , . . . , an ) Q A (a1 , . . . , ai1 , d, ai+1 , . . . , an ).

Evident Q Q Q .
Fie R o preordine compatibil
a cu operatiile care include Q. Compatibilitatea cu operatiile implic
a Q R, de

unde deducem Q R deoarece R este reflexiv


a si tranzitiv
a.

Din propriet
atile operatorilor de nchidere si R Q deducem R Q si R Q .

Not
am u Q v dac
a exista a A astfel nc
at u Q a si v Q a.

rescriere

Un prim pas pentru suplinirea simetriei este nlocuirea substitutiei cu rescrierea. Vom mai folosi si rescrierea n
subtermeni.
.

Rew

Pentru orice (X) l =s r if H si orice morfism h : T (X) A


.
.
.
.
(u =t v H)(d At )ht (u) =t d si ht (v) =t d implic
a hs (l) =s hs (r).

SRew

Pentru orice (X) l =s r if H si orice morfism h : T (X) A


.
.
.
(u =t v H)(d At )ht (u) =t d si ht (v) =t d implic
a
.
c[hs (l)] =s c[hs (r)] pentru orice context c A[z]s .

Remarcati c
a SRew , rescrierea ntr-un subtermen, este o regul
a de deductie mai puternica decat Rew , rescrierea,
care poate fi obtinuta din SRew pentru c = z.
Deasemenea Rew si regula contextului implic
a SRew .
Compar
and substitutia si rescrierea observam urmatoarele.
1) Rew si R implic
a Sub .
2) Sub , S si T implic
a Rew .
.
Probam ultima afirmatie. Fie (X) l =s r if H si un morfism h : T (X) A cu proprietatea c
a pentru
.
.
.
.
.
orice u =s v H exista d As cu hs (u) =s d si hs (v) =s d. Pentru orice u =s v H cu S deducem d =s, hs (v)
.
.
si apoi cu T obtinem hs (u) =s hs (v). In final aplic
am Sub si deducem hs (l) =s hs (r).
Definim prin inductie sirul cresc
ator de multimi de egalitati formale din A.
Q0 =
.

Qn+1 = {hs (l) =s hs (r) : (Y )l =s r if H , h : T (Y ) A, si (u =t v H)ht (u) Qn ht (v)}


Pentru a ne convinge c
a sirul de mai sus este cresc
ator putem demonstra prin inductie c
a (n)Qn Qn+1 .

Deoarece si sunt operatori de nchidere deducem c


a sirurile Qn si Qn sunt crescatoare.
Prin definitie Q este reuniunea sirului cresc
ator definit mai sus
[
Q=
Qn .
nN

a
Remarcam c
a a Q d implic
a existenta unui n natural cu proprietatea a Qn d. Deasemenea a Q d implic

existenta unui n natural cu proprietatea a Qn d.


ator. In plus a Q b implic
a existenta unui n natural cu proprietatea a Qn b.
S
irul Qn este cresc

In cazul n care Q este definit


a ca mai sus, n loc de Q vom prefera sa scriem = . Relatia = este denumita
rescriere sau mai scurt rescriere.

Propozitie 4.1 = este nchis


a la SRew .
.

Demonstratie: Fie (Y )l =s r if H , h : T (Y ) A morfism cu proprietatea ht (u) Q ht (v) pentru orice

.
a c[h(l)] = c[h(r)].
u =t v H si un context c A[z]s . Trebuie aratat c
.
Deoarece H este finit
a si num
arul pasilor utilizat n ht (u) Q ht (v) unde u =t v H este finit exista un n
.
.
natural astfel nc
at ht (u) Qn ht (v) pentru orice u =t v H. Prin urmare hs (l) =s hs (r) Qn+1 . Deoarece
.

hs (l) =s hs (r) Q deducem c[hs (l)] = c[hs (r)]. 2

Propozitie 4.2 = este cea mai mic


a relatie nchis
a la R, T, C si Rew .

Demonstratie: Evident = este nchis


a la R, T si C si, fiind nchis
a la SRew , este nchis
a si la Rew .
Fie W o relatie nchis
a la R, T, C si Rew . Demonstr
am prin inductie dup
a n c
a Qn W.
Dac
a n = 0 avem Q0 = W.
.
.
Pentru n 1 fie hs (l) =s hs (r) Qn , unde (Y )l =s r if H , h : T (Y ) A si ht (u) Qn1 ht (v) pentru orice
.
u =t v H. Din ipoteza de inductie Qn1 W . Cum W este nchis
a la C rezult
a c
a W este nchis
a la contexte, deci

a W este nchis
a la R si T rezult
a c
a Qn1 W .
Qn1 W . Folosind faptul c
.
.
Din (u =t v H)ht (u) Qn1 ht (v) obtinem (u =t v H)ht (u) W ht (v). Folosind nchiderea lui W la Rew
.
rezult
a c
a hs (l) =s hs (r) W , deci Qn W.

Prin urmare Q W si folosind propozitia 3.2 deducem c


a Q W.

Corectitudinea rescrierii

Teorema 5.1 Toate regulile de deductie de mai sus sunt corecte pentru congruenta semantic
a .
Demonstratie: Din lectia privind logica ecuational
a stim c
a regulile de deductie R, S, T, C si Sub sunt corecte.
Deoarece C si R implic
a CA deducem c
a CA este corecta.
Deoarece Sub , S si T implic
a Rew rezulta c
a Rew este corecta.
Deoarece Rew si CA implic
a SRew deducem c
a SRew este corecta. 2

Corolar 5.2 = . (Corectitudinea rescrierii pentru congruenta semantic


a)
Rescrierea nu este complet
a pentru congruenta semantica deoarece Rew nu capteaza ntreaga forta a simetriei.

4 Relatia de ntalnire, Forme normale


VEC
May 26, 2008

Confluent
a

Definitia 1.1 O relatie pe o multime A se numeste confluent


a daca
(a, b, c A){[a b si a c] (d A)[b d si c d]}. 2
Propozitie 1.2 Dac
a este o preordine confluent
a pe multimea A, atunci relatia definit
a prin
a b (c A)a c si b c
este cea mai mic
a echivalenta
pe A care include .
Demonstratie:
Reflexivitatea rezulta luand c := a.
Simetria este evident
a.
Probam tranzitivitatea. Fie a b si b c. Observam c
a exista d, e A astfel nc
at a d, b d, b e si
c e. Din confluent
a rezulta existenta lui f A astfel nc
at d f si e f . Rezult
a c
a a f si c f , deci
a c.
Pentru a dovedi c
a , presupunand c
a a b si observand c
a b b deducem a b
Fie o relatie de echivalent
a pe A care include . Probam c
a include . Presupunand c
a a b rezulta
existenta lui c A astfel nc
at a c si b c. Deducem a c si b c, deci a b. 2
Observatia 1.3 Dac
a este o preordine confluent
a si compatibil
a pe o -algebr
a multisortat
a, atunci este o
congruenta
.
Demonstratie: Fie s1 s2 ...sn ,s si ai bi pentru orice i [n]. Pentru orice i [n], exista ci astfel nc
a t a i ci
si bi ci , prin urmare
A (a1 , a2 , . . . , an ) A (c1 , c2 , . . . , cn ) si A (b1 , b2 , . . . , bn ) A (c1 , c2 , . . . , cn ).
Deci A (a1 , a2 , . . . , an ) A (b1 , b2 , . . . , bn ). 2

Completitudinea nt
alnirii prin recriere

Prin definitie, pentru orice s S si orice a, d As :

a d dac
a si numai daca exista c As astfel nc
at a c si d c.
Propozitie 2.1 .

Demonstratie: Din a d deducem existenta lui c astfel nc


at: a c si d c. Din aceasta deducem c
a a c
si d c deci a d. 2
Aceasta dovedeste corectitudinea lui . Pentru a demonstra si completitudinea sa, adica incluziunea inversa, avem

nevoie sa presupunem c
a este confluent
a. Folosind observatia 1.3 deducem c
a este o congruenta.
1

Lem
a 2.2 Dac
a este confluent
a, atunci congruenta este nchis
a la substitutie.
Demonstratie: Fie (X) l =s r if H si fie h : T (X) A un morfism pentru care ht (u) ht (v) pentru
.
.

orice u =t v H. Pentru orice u =t v H exist


a auv At cu propriet
atile ht (u) auv si ht (v) auv . Deoarece

este nchis
a la Rew deducem c
a hs (l) hs (r). Prin urmare hs (l) hs (r). 2
Fie A factorizarea lui A prin si fie : A A morfismul de factorizare. Doarece congruenta este nchis
a
la substitutie deducem c
a A |= .

Teorema 2.3 Dac


a este confluent
a, atunci = .
Demonstratie: Doarece congruenta este nchis
a la substitutie deducem c
a A |= .
Folosind propozitia 2.1 avem de demonstrat doar .
Fie a c. Deoarece A |= si : A A este morfism rezulta c
a s (a) = s (c) adica a c.
In concluzie = ceea ce demonstreaza completitudinea lui . 2
Din punct de vedere practic aceast
a teorem
a arat
a c
a demonstrarea propozitiei a c poate fi redus
a la a demonstra
a c dac
a rescrierea este confluent
a. Prin urmare principala problem
a devine
poate o masin
a s
a demonstreze c
a a c ?

Forme normale

3.1

La multimi

Presupunem n continuare c
a este o preordine pe multimea A.
Definitia 3.1 Elementul n A se numeste o form
a normal
a pentru relatia pe multimea A daca
(b A)(n b n = b).
Fie N multimea elementelor din A care sunt forme normale pentru . Presupunem axioma Formei Normale
unice
FN! (a A)(! f n(a) N )a f n(a).
Observatia 3.2 Dac
a a d, atunci f n(a) = f n(d).
Demonstratie: Din ipoteza si d f n(d) deducem a f n(d), deci din unicitatea formei normale a lui a deducem
f n(a) = f n(d).
Observatia 3.3 Axioma FN! implic
a este confluent
a.
Demonstratie: Presupunem a d si a c. Deducem f n(a) = f n(d) = f n(c), deci d f n(d) si c f n(d).
Observatia 3.4 Functia f n : A N este surjectiv
a si
a d f n(a) = f n(d).
Demonstratie: Deoarece pentru orice element n n forma normala n = f n(n) rezulta surjectivitatea functiei f n.
Presupunem f n(a) = f n(d). Deoarece a f n(a) si d f n(a) deducem a d.
Presupunem a d. Fie c A astfel nc
at a c si d c. Deducem f n(a) = f n(c) si f n(d) = f n(c), deci
f n(a) = f n(d). 2
Din punct de vedere practic aceast
a observatie arat
a c
a dac
a rescrierea are proprietatea FN! demonstrarea lui a d
este echivalent
a cu egalitatea formelor normale pentru rescriere ale lui a si d.
Remarcam c
a N este un sistem complet si independent de reprezentanti pentru .
Observatia 3.5 Exist
a o unic
a bijectie B : N A/ astfel nc
at compunerea f n; B coincide cu functia natural
a
de factorizare.

3.2

La Algebre

In -algebra A = (As , A ) presupunem c


a este o preordine multi-sortat
a compatibila cu proprietatea FN!.
-algebra N = (Ns , N ) a formelor normale este definia prin:
Ns = {a As : a este forma normal
a } pentru s S si
N (n1 , n2 , . . . , nk ) = f n(A (n1 , n2 , . . . , nk )) pentru orice s1 s2 ...sk ,s si
ni Nsi pentru 1 i k.
Observatia 3.6 f n : A N este un -morfism.
a
Demonstratie: Fie s1 s2 ...sn ,s si ai Asi . Deoarece ai f nsi (ai ) pentru orice i [n] deducem c
A (a1 , a2 , . . . , an ) A (f ns1 (a1 ), f ns2 (a2 ), . . . , f nsn (an )),
prin urmare
f ns (A (a1 , a2 , . . . , an )) = f ns (A (f ns1 (a1 ), f ns2 (a2 ), . . . , f nsn (an ))) = N (f ns1 (a1 ), f ns2 (a2 ), . . . , f nsn (an )). 2
Propozitie 3.7 Dac
a n -algebra A = (As , A ), este o preordine multi-sortat
a compatibil
a cu proprietatea FN!,
atunci algebrele A/ si N sunt izomorfe.
Demonstratie: Deoarece f n este surjectiv pe componente si Ker(f n) = rezulta c
a A/ si N sunt izomorfe.

Teorema 3.8 Dac


a satisface axioma FN!, atunci algebra formelor normale este isomorf
a cu A .

Relatii canonice

In practica pentru a verifica c


a satisface axioma FN!, prefer
am uneori sa verific
am c
a satisface propriet
atile de
confluenta si terminare.
Definitia 4.1 Spunem c
a are proprietatea de terminare daca nu exista siruri {an } de elemente din A astfel nc
at
pentru orice num
ar natural n sa avem an an+1 si an 6= an+1 . 2
Observatia 4.2 Dac
a are proprietatea de terminare, atunci pentru orice element a din A exist
a un element n
form
a normal
a n N cu proprietatea a n.
Demonstratie: Ration
and prin absurd, a nu este n forma normal
a; prin urmare exist
a a1 A cu propriet
atile
a a1 si a 6= a1 . Ration
and n continuare prin absurd, a1 nu este n forma normal
a; prin urmare exist
a a2 A cu
propriet
atile a1 a2 si a1 6= a2 . Continu
and acest rationament prin inductie putem construi un sir de elemente care
contrazice proprietatea de terminare. 2
Dac
a preordinea este confluent
a si are proprietatea de terminare spunem c
a < A, > este canonic
a. 2
Propozitie 4.3 Dac
a < A, > este canonic
a atunci axioma FN! este verificat
a.
Demonstratie: Unicitatea va rezulta din confluenta. Presupunand c
a n si n sunt doua elemente n forma nor
mala cu proprietatea a n si a n din confluenta exista d A astfel nc
at n d si n d. Deoarece n si n n

sunt forma normal


a deducem c
a n = d si n = d, deci n = n. 2
Din punct de vedere practic terminarea este necesar
a pentru a opri executia calculatorului iar confluenta este necesar
a
pentru completitudine. Aceste propriet
ati implic
a FN!. Pentru a demonstra c
a a c este suficient s
a rescriem a
si c in forma lor normal
a f n(a) si f n(c) pentru ca apoi s
a verific
am egalitatea f n(a) = f n(c).

5 RESCRIERE IN SUBTERMENI
Virgil Emil Cazanescu
February 14, 2010
Am vazut c
a rescrierea canonica d
a o metod
a de demonstrare automata a propozitiilor valide. Urmatoarea problem
a
consta n a arata cum regulile de deductie pentru rescriere pot fi utilizate n mod practic.
Teoremele din aceasta lectie explic
a modul n care se fac rescrierile n limbajele de programare declarativa.

Completitudinea rescrierii n subtermeni

Teorema precedent
a ne asigura c
a rescrierea este cea mai mica preordine nchis
a la SRew compatibila cu toate operatiile
din A. Teorema urmatoare ne spune ceva mai mult.
Teorema 1.1 Rescrierea este cea mai mic
a preordine din A nchis
a la SRew .

Demonstratie: Fie R cea mai mica relatie pe A care este nchis


a la R, T si SRew . Din definitie deducem c
a R .
Pentru a demonstra incluziunea contrar
a este suficient sa aratam c
a R este nchis
a n C.
a a R d implic
a
Dar R este tranzitiv
a si reflexiva, deci este suficient sa aratam pentru fiecare s1 ...sn ,s c
A (a1 , . . . , ai1 , a, ai+1 , . . . , an ) R A (a1 , . . . , ai1 , d, ai+1 , . . . , an ).
Demonstram c
a multimea
D = {a R d | A (a1 , . . . , ai1 , d, ai+1 , . . . , an ) R A (a1 , . . . , ai1 , a, ai+1 , . . . , an )}
este nchis
a la R, T si SRew .
Reflexivitatea lui D rezulta din reflexivitatea lui R .
Presupunem c
a (a, u) si (u, d) sunt n D. Folosind tranzitivitatea lui R din a R u si u R d deducem a R d si din
A (a1 , . . . , ai1 , a, ai+1 , . . . , an ) R A (a1 , . . . , ai1 , u, ai+1 , . . . , an ) si
A (a1 , . . . , ai1 , u, ai+1 , . . . , an ) R A (a1 , . . . , ai1 , d, ai+1 , . . . , an ) deducem
A (a1 , . . . , ai1 , a, ai+1 , . . . , an ) R A (a1 , . . . , ai1 , d, ai+1 , . . . , an , d).
.
Probam c
a D este nchis
a la SRew . Fie (X)l =s r if H , un morfism h : T (X) A cu proprietatea c
a pentru
.
orice u =t v H. exista auv At astfel nc
at (ht (u), auv ) D si (ht (v), auv ) D Pentru orice context c A[z]s trebuie
ar
atat c
a (c[hs (l)], c[hs (r)]) D.
.
Deoarece R este nchis
a la SRew din ht (u) R auv si ht (v) R auv pentru orice u =t v H deducem
c[hs (l)] R c[hs (r)]

si

c [hs (l)] R c [hs (r)]

unde c = (a1 , . . . , ai1 , c, ai+1 , . . . , an ) este un context.


Din c [hs (l)] = A (a1 , . . . , ai1 , c[hs (l)], ai+1 . . . , an ) si c [hs (r)] = A (a1 , . . . , ai1 , c[hs (r)], ai+1 , . . . , an ) obtinem
A (a1 , . . . , ai1 , c[hs (l)], ai+1 , . . . , an ) R A (a1 , . . . , ai1 , c[hs (r)], ai+1 , . . . , an ).
Deci (c[hs (l)], c[hs (r)]) D.

In concluzie R =
. 2

Rescriere ntr-un pas


.

at pentru orice u =t v H
Fie c n A[z]s un context. Fie (X)l =s r if H si fie h : T (X) A un morfism astfel nc

exista auv At cu propriet


atile ht (u) auv si ht (v) auv . Dac
a c[hs (l)] 6= c[hs (r)] spunem c
a c[hs (l)] se rescrie ntr-un
pas n c[hs (r)] si scriem
c[hs (l)] c[hs (r)].
Propozitie 2.1 Rescrierea este nchiderea reflexiv-tranzitiv
a a rescrierii ntr-un pas.

Demonstratie: Fie nchiderea reflexiv-tranzitiva a rescrierii ntr-un pas.

Deoarece si este preordine deducem incluziunea .

Reciproc, deoarece este reflexiva si tranzitiv


a este suficient sa aratam c
a este nchis
a la SRew .
.
.
Fie (X) l =s r if H , h : T (X) A un morfism astfel nc
at pentru orice u =t v H exista auv At cu propriet
atile

.
ht (u) auv si ht (v) auv si c un context din A[z]. Din incluziunea deja demonstrat
a rezulta c
a pentru orice u =t v H

exista auv At cu propriet


atile ht (u) auv si ht (v) auv . Avem cazurile:

1. Dac
a c[h(l)] = c[h(r)] deducem din reflexivitatea lui c
a c[h(l)] c[h(r)].

2. Altfel, daca c[h(l)] 6= c[h(r)] atunci c[h(l)] c[h(r)], deoarece rescrierea ntr-un pas este inclusa n nchiderea reflexiva
si tranzitiv
a a rescrierii ntr-un pas. 2
In continuare rescrierea ntr-un pas va fi notata cu sau .

Consideratii metodologice

Pentru a demonstra c
a a b este suficient sa aratam c
a f ns (a) = f ns (b) si aceasta se face prin rescrierea lui a, respectiv a
lui b n formele lor normale, pentru a verifica c
a sunt egale.
Fie a As elementul de rescris. Se caut
a
.

(X)l =s r if H n , h : T (X) A si un context c in A[z] astfel nc


at c[hs (l)] = a.
.

Pentru a face rescrierea este suficient sa ar


atam c
a ht (u) ht (v) pentru orice u =t v H. Se ntrerupe rescrierea principala
pentru a face acest
a verificare si n caz de reusita se rescrie a n c[hs (r)]. In caz de nereusita se continu
a c
autarile pentru a
reajunge n situatia de mai sus. Intrucat n timpul verific
arii uneia dintre conditiile ht (u) ht (v) se rescriu atat ht (u) c
at
si ht (v) n forma lor normal
a, fenomenul de mai sus se poate repeta se apeleaz
a la mecanismul numit backtracking.
Dac
a contine doar ecuatii neconditionate, rescrierea ntr-un singur pas nu depinde de rescriere, ca n cazul general.
Acest fapt explica de ce, n acest caz metoda backtracking nu este folosita n implementarea rescrierii.
Exemplu Signatura are doua sorturi nat si bool; trei constante true, f alse de sort bool si 0 de sort nat; doua simboluri
de operatii s : nat nat si : nat nat bool. Axiomele acceptate cu x si y variabile de sort nat sunt
1. 0 x = true

2. s(x) s(y) = true if x y = true

3. s(x) 0 = f alse

Vrem sa rescriem s(s(0)) s(s(z)). Se poate aplica numai axioma 2 pentru x = s(0) si y = s(z).
Inainte de aceasta trebuie sa rescriem s(0) s(z). Se poate aplica numai axioma 2 pentru x = 0 si y = z.
Inainte de aceasta rescriem 0 z true cu axioma 1.
Deoarece am obtinut true putem rescrie s(0) s(z) true.
Deoarece prin rescrierea lui s(0) s(z) am obtinut true putem rescrie s(s(0)) s(s(z)) true.


6 UNIFICARE, LOCAL CONFLUENT
A
Virgil Emil Cazanescu
May 26, 2008

Unificare

Toate algebrele sunt presupuse libere. Prin substitutie vom ntelege un morfism ntre doua algebre libere.
asirea unui unificator, adica a
Problema unific
arii. Se dau un num
ar finit de perechi de termeni li =si ri si se cere g
unei substitutii u cu proprietatea u(li ) = u(ri ) pentru orice i.

1.1

Algoritmul de unificare

Vom lucra cu doua liste: solutie si de rezolvat. Initial lista solutie este vida si lista de rezolvat contine multimea ecuatiilor
de unificat.
Algoritmul de unificare const
a n executia nedeterminista a urmatorilor trei pasi.
1. Scoate. Se scoate din lista de rezolvat orice ecuatie de forma t = t.
2. Descompune. Orice ecuatie din lista de rezolvat de forma
f (a1 , a2 , . . . , an ) = f (b1 , b2 , . . . , bn )
se nlocuieste cu ecuatiile a1 = b1 , a2 = b2 , ..., an = bn ,
3. Elimin
a. Orice ecuatie din lista de rezolvat, de forma x = t sau t = x n care x este o variabil
a care nu apare n t este
mutat
a sub forma x = t n lista solutie. In toate celelalte ecuatii x se substitue cu t.
Algoritmul este oprit cu concluzia inexistentei unui unificator n urmatoarele doua cazuri.
1) Existenta n lista de rezolvat a unei ecuatii de forma f (a1 , a2 , . . . , an ) = g(b1 , b2 , . . . , bm ) cu f 6= g,
2) Existenta n lista de rezolvat a unei ecuatii de forma x = t sau t = x n care x este o variabil
a care apare n t si este
diferita de t.
Oprirea normala a algoritmului se face prin epuizarea listei de rezolvat, caz n care, asa cum vom proba mai jos, lista solutie
coincide cu cel mai general unificator.

1.2

Terminare

Terminarea algoritmului este probat


a folosind n ordine lexicografic
a doua criterii exprimate prin numere naturale:
1. numarul variabilelor care apar n lista de rezolvat, care in functie de pasul algoritmului utilizat are urmatoarea comportare
(a) Scoate: ram
ane egal sau se micsoreaza,
(b) Descompune: ram
ane egal,
(c) Elimin
a: se micsoreaza
2. numarul aparitiilor simbolurilor(semnelor) care apar n lista de rezolvat, care se micsoreaza n cele doua cazuri care ne
mai intereseaza Scoate si Descompune.

1.3

Corectitudine

Corectitudinea algoritmului se bazeaz


a pe demonstrarea faptului c
a multimea unificatorilor pentru ecuatiile din reuniunea
celor doua liste este un invariant, adica nu se modific
a prin aplicarea celor trei pasi ai algoritmului.
Deoarece pentru pasul Scoate afirmatia este evident
a ne referim doar la ceilalti pasi.
Descompune: Observam c
a pentru orice substitutie s egaliatea
s(f (a1 , a2 , . . . , an )) = s(f (b1 , b2 , . . . , bn ))
este echivalent
a cu
f (s(a1 ), s(a2 ), . . . , s(an )) = f (s(b1 ), s(b2 ), . . . , s(bn ))
adica cu s(ai ) = s(bi ) pentru orice i [n].
Elimin
a: Observam c
a orice unificator u pentru ecuatiile din reuniunea celor doua liste atat nainte de aplicarea pasului
c
at si dupa aceasta trebuie sa satisfac
a egalitatea u(x) = u(t). Pentru o substitutie s cu proprietatea s(x) = s(t) observam
c
a
x t; s = s
deoarece (x t; s)(x) = s(t) = s(x) si (x t; s)(y) = s(y) pentru orice alta variabil
a y. Prin urmare pentru o astfel de
substitutie
s(l) = s(r) daca si numai daca s(l[x t]) = s(r[x t])
ceea ce arata c
a un unificator pentru ecuatiile din reuniunea celor doua liste dinainte de aplicarea pasului este unificator si
pentru ecuatiile din reuniunea celor doua liste de dupa aplicarea pasului si reciproc.
Algoritmul este oprit cu concluzia inexistentei unui unificator deoarece n cele doua situatii mentionate se constata c
a
multimea unificatorilor este vida.
S
a observam c
a variabilele care apar n membrul stang al ecuatiilor din lista solutie sunt diferite doua c
ate doua si nu
apar n nici una dintre celelalte ecuatii din cele doua liste.
Faptul poate fi dovedit prin inductie.
Mention
am c
a aplicarea primilor doi pasi ai algoritmului nu modific
a lista solutie si nu produc aparitii noi de variabile n
cele doua liste.
Fie x = t ecuatia introdus
a n lista solutie prin aplicarea pasului Elimin
a. Deoarece variabilele din membrul stang ai listei
solutie precedent
a nu apar n celelalte ecuatii rezulta c
a variabila x este diferita de celelalte variabile care apar n membrul
st
ang al ecuatiilor din lista solutie. In plus prin substituirea lui x cu t n celelalte ecuatii variabila x dispare din ele deoarece
x nu apare n t. Deoarece nici x si nici variabilele din membrul stang ai listei solutie precedent
a nu apar n t rezulta c
a dupa
efectuarea substitutiei lui x cu t variabilele din membrul stang ai listei solutie nu apar n restul ecuatiilor.
S
a presupunem c
a algoritmul s-a terminat prin epuizarea listei de rezolvat. S
a notam cu k numarul ecuatiilor din lista
solutie si cu xi = ti pentru i [k] ecuatiile din ea.
Fie U substitutia definit
a prin
U (xi ) = ti pentru orice i [k].
Definitia este corecta deoarece variabilele xi sunt distincte. Deoarece variabilele xi nu apar n termenii ti deducem c
a
U (ti ) = ti , prin urmare U (ti ) = U (xi ), deci U este un unificator. Vom dovedi c
a este cel mai general.
Observam c
a pentru orice substitutie s compunerea U ; s este tot un unificator. Vom arata c
a orice alt unificator
este de aceasta forma. Fie u un alt unificator, adica u(xi ) = u(ti ) pentru orice i [k]. Observam c
a U ; u = u, c
aci
u(U (xi )) = u(ti ) = u(xi ) pentru orice i [k] si u(U (y)) = u(y) pentru orice alt
a variabil
a y.
Deci U este cel mai general unificator, deoarece orice alt unificator poate fi exprimat ca o compunere a lui U cu o
substitutie. In plus observ
am c
a el este idempotent deoarece U ; U = U .
In semantica operational
a a limbajelor de specificatie rescrierea joac
a un rol primordial. Pentru a rescrie un element a
cu ajutorul unei reguli l =s r se pune problema identificarii unui subtermen al lui a cu imaginea lui l printr-o substitutie.
Aceasta problem
a de potrivire(matching n englez
a) se poate rezolva tot cu ajutorul algoritmului de unificare. Mai precis se
caut
a a se unifica l cu un subtermen al lui a n care toate variabilele sunt considerate constante.

Local confluent
a

Reamintim c
a relatia rescrierea este confluent
a daca

(a, b, c) [(a = b si a = c) implic


a (d) (b = d si c = d)].
Definitia 2.1 Spunem c
a rescrierea este local confluent
a daca
(a, b, c) [(a = b si a = c) implic
a (d) (b = d si c = d)].
Definitia 2.2 Se spune c
a rescrierea are proprietatea de terminare, dac
a nu exista siruri {an }n cu proprietatea an = an+1
pentru orice n numar natural.
Propozitie 2.3 Dac
a rescrierea este local confluent
a si are proprietatea de terminare atunci rescrierea este confluent
a.
Demonstratie: Reamintim c
a proprietatea de terminare ne aisgura pentru orice a existenta unei forme normale n cu

proprietatea a = n. Vom demonstra unicitatea formei normale fapt ce implic


a confluenta. Not
am cu N multimea formelor
normale. Fie

M = {a : (n1 , n2 N )a = n1 , a = n2 , n1 6= n2 }.
Probam c
a a M implic
a (b M )a = b.

Deoarece a M exista n1 , n2 N cu propriet


atile a = n1 , a = n2 si n1 6= n2 . Dac
a a ar fi o forma normala, atunci
a = n1 si a = n2 ceea ce contrazice n1 6= n2 .

Deoarece a nu este forma normal


a exista elemntul b cu propriet
atile a = b si b = n1 . La fel exista c cu propriet
atile

a = c si c = n2 . Deoarece rescrierea este local confluenta exista elementul d cu propriet


atile b = d si c = d. Deoarece

terminarea implic
a existenta formei normale deducem n N cu proprietatea d = n.
Deoarece n1 6= n2 deducem n 6= n1 sau n 6= n2 .

Dac
a n 6= n1 deoarece b = n1 si b = n decucem b M. Dac
a n 6= n2 deoarece c = n si c = n2 deducem c M.
Probam unicitatea formei normale. Ration
and prin absurd deducem c
a M este nevid
a. Plecand de la a1 M aplic
and
observatia de mai sus deducem existenta lui a2 M cu proprietatea a1 = a2 . Repetand rationamentul printr-o inductie
deducem existenta unui sir {an }n cu proprietatea an = an+1 pentru orice n natural. Deci rescrierea nu are proprietatea de
terminare, n contradictie cu ipoteza. 2

7 RESCRIERE MODULO ECUATII


Virgil Emil Cazanescu
February 14, 2010
Motivare : Comutativitatea folosit
a ca regul
a de rescriere conduce la pierderea propriet
atii de terminare.
Deoarece unele ecuatii, de exemplu comutativitatea, nu pot fi folosite ca axiome pentru rescriere, s-a g
asit o alt
a cale
pentru utilizarea acestora si anume rescrierea modulo ecuatii. Multimea E reprezint
a ecuatiile care n loc de a fi folosite ca
axiome vor fi utilizate pentru rescrierea modulo ecuatii.

Motivare semantic
a

Fie E o multime de ecuatii si o multime de ecuatii conditionate.


Se stie c
a n categoria -algebrelor monomorfismele coincid cu morfismele care au toate componentele injective.
Propozitie 1.1 Fie m : A B un monomorfism din categoria algebrelor. Dac
a B |= , atunci A |= .
.

Demonstratie: Fie (X)l =s r if H si h : T (X) A un morfism astfel nc


at ht (u) = ht (v) pentru orice
.
u =t v H. Atunci h; m : T (X) B este un morfism si (h; m)t (u) = (h; m)t (v). Deoarece B satisface rezulta c
a
(h; m)s (l) = (h; m)s (r), adica ms (hs (l)) = ms (hs (r)). Dar m este monomorfism deci hs (l) = hs (r). Asadar A satisface orice
.
(X)l =s r if H , adica A |= . 2
Se stie c
a n categoria -algebrelor epimorfismele coincid cu morfismele care au toate componentele surjective.
Propozitie 1.2 Fie e : A B un epimorfism din categoria algebrelor. Dac
a A |= E, atunci B |= E.
.

Demonstratie: Fie (X)l =s r E si h : T (X) B un morfism. Deoarece -algebra libera T (X) este proiectiv
a
rezulta c
a exista un morfism g : T (X) A astfel nc
at g; e = h. Atunci
.

A |= (X)l =s r E gs (l) = gs (r) es (gs (l)) = es (gs (r)) hs (l) = hs (r).


.

Deci B satisface orice ecuatie (X)l =s r din E, adica B satisface E. 2


a a c daca si numai daca hs (a) = hs (c) pentru
Reamintim c
a A = A/ . Pentru a,c As reamintim deasemenea c
orice h : A B |= .
Not
am AE, = (AE ) , iar cu : A AE si j : AE AE, morfismele canonice de factorizare.
Observatia 1.3 Algebrele AE si AE, sunt izomorfe.
Demonstratie: Ideea demonstratiei este de a arata c
a AE, are propriet
atile care caracterizeaza abstractie de un izomorfism
algebra AE .
Evident AE, |= . Deoarece j : AE AE, este epimorfism si AE |= E rezulta din propozitia 1.2 c
a AE, |= E, deci
AE, |= E.
Pentru restul demonstratiei puteti utiliza figura 1.
Fie B o algebr
a cu proprietatea B |= E. Deoarece B |= E, din proprietatea de universalitate a algebrei AE
deducem c
a exista un unic morfism h : AE B astfel nc
at ; h = h. Deoarece B |= rezulta c
a exista un unic morfism

h : AE, B astfel nc
at j; h = h . Atunci (; j); h = h.
Unicitatea lui h rezulta din surjectivitatea lui ; j. 2
Propozitie 1.4 a E c s (a) s (c)

pentru oricare a, c As .

- AE

- AE,

S

S

S

h
hS
h
S

S

S

w ?/
S
B

Figure 1:
Demonstratie: Fie t : A AE morfismul canonic de factorizare si i : AE, AE unicul izomorfism cu proprietatea
; j; i = t.
Presupunem s (a) s (c). Deoarece js (s (a)) = js (s (c)) aplic
and izomorfismul i si tinand cont de egalitatea de mai
sus deducem ts (a) = ts (c) deci a E c.
Reciproc, presupunem a E c. Deoarece ts (a) = ts (c) aplic
and inversul izomorfismului i si tinand cont de egalitatea
de mai sus deducem js (s (a)) = js (s (c)) deci s (a) s (c). 2
Propozitia 1.4 ne d
a o metod
a de a evita ecuatiile E care nu pot fi folosite ca axiome n rescriere.
Presupunem c
a avem de demonstrat a E c n A. Propozitia 1.4 ne spune c
a n loc sa demonstram acest lucru, putem
ar
ata c
a s (a) s (b) n AE . Dac
a am dorii sa folosim metoda data n lectiile anterioare, pentru a o demonstra vom ajunge
la rescrieri n AE .

Rescrierea modulo o relatie de echivalent


a

Rescrierea n AE se numeste rescriere de clase. Deoarece clasele de echivalenta ale relatiei E pot fi infinite, vom prefera sa
le nlocuim pe acestea cu un reprezentant din A care la randul lui va putea fi substituit cu un alt reprezentant al aceleiasi
clase si apoi rescris n A. Aceasta rescriere din A este denumita rescriere modulo E. Scopul acesteia este ca trecand la clase,
sa produca rescrierea din AE .
Conceptul de rescriere modulo E poate fi generalizat prin conceptul de rescriere modulo o relatie de echivalent
a
ce poate fi cu usurint
a formalizat. Conceptul de rescriere modulo o relatie de echivalenta se obtine din conceptul clasic de
rescriere la care se adauga o noua regul
a de deductie numita regula claselor.
Cl

a s b implic
a a =s b

De remarcat faptul c
a Cl este o regul
a deductiv
a mai puternica dect R, prin urmare n rescrierea modulo regula Cl
va nocui pe R.
Utilizarea fara restrictii a regulei claselor duce la pierderea propriet
atii de terminare. Un element poate fi rescris n altul
din aceeasi clasa, acesta la randul lui poate fi rescris n alt element echivalent si asa mai departe. Observam c
a un sir finit de
astfel de resrieri poate fi nlocuit cu una singura deoarece toate elementele care apar n rescriere sunt din aceeasi clasa. Prin
urmare, restrictia de a nu folosi de doua ori consecutiv regula claselor nu restrange puterea acestei reguli si este suficient
a
pentru implementare.

2.1

Preliminarii

Fie un morfism h : A B si z o variabil


a de sort s.
Fie hz : T (A {z}) T (B {z}) unicul morfism astfel nct

z
x=z
hz (x) =
, pentru orice x A.
h(x) x 6= z
Pentru orice c din T (B {z}) fie nrzB (c) numarul de aparitii ale lui z n c. Deoarece hz ; nrzB = nrz rezulta c
a pentru c
din T (A {z}), hz (c) este context dac
a si numai daca c este context.

Pentru oricare a din A


(z a); h = hz ; (z h(a)).
Dac
a n plus morfismul h : A B este surjectiv pe componente, atunci morfismul hz : T (A {z}) T (B {z})
este si el surjectiv pe componente si pentru fiecare context c T (B {z}) exista un context c T (A {z}) astfel nct
hz (c) = c .

2.2

Corectitudinea

B
h
Rescrierea din algebra B este notata cu . In continuare vom nota prin rescrierea din A modulo echivalenta nucleara
Ker(h) a morfismului h : A B.
B

Propozitie 2.1 Fie un morfism h : A B. Dac


a a d atunci h(a) h(d).
Demonstratie: Vom ar
ata c
a multimea de propozitii din A
B

D = {a =s d : hs (a) hs (d)}
este nchis
a la regulile ClKer(h) , T si SRew .
Deoarece demonstratia este evident
a pentru ClKer(h) si T vom demonstra numai nchiderea fata de regula SRew .
.
.
Fie (X)l =s r if H si f : T (X) A un morfism astfel nct pentru orice u =t v exista auv At cu propriet
atile
.

ft (u) =t auv D si ft (v) =t auv D. Prin urmare ht (ft (u)) ht (auv ) si ht (ft (v)) ht (auv ).
B

Pentru orice context c din T (A {z}), deoarece este nchis la SRew obtinem
B

hz (c)[(f h)s (l)] hz (c)[(f h)s (r)].


Rezult
a c
a

h(c[fs (l)]) h(c[fs (r)])


.

ceea ce ncheie demonstratia, deoarece arata c


a c[fs (l)] =s c[fs (r)] D.
Deoarece D este nchis
a la regulile ClKer(h) , T si SRew rezulta c
a
h

D
fapt care implic
a concluzia. 2
Din propozitia de mai sus aplicat
a pentru morfismul de factorizare canonic rezulta c
a daca a se rescrie modulo o echivalenta
n b, atunci clasa de echivalent
a a lui a se rescrie n clasa de echivalenta a lui b.

Corolar 2.2 Dac


a a d atunci h(a) h(d).

2.3

Completitudinea
B

Propozitie 2.3 Fie h : A B un morfism surjectiv pe componente. Dac


a h(a) h(d) atunci a d.
Demonstratie: Fie multimea
h

D = {(hs (a), hs (d)) : a d}.


h

Observam c
a (hs (u), hs (v)) D implic
a u v. Din ipoteza exista a, b asfel nc
at hs (u) = hs (a), a d si hs (d) = hs (v), prin
h

urmare u v.
Probam c
a D este nchis
a la R,T si SRew .
h

R. Fie d Bs . Deoarece hs este surjectiv


a exista a As cu hs (a) = d. Din a a deoarece este reflexiva, rezulta c
a
.
.
hs (a) =s hs (a) D, prin urmare d =s d D. Deci D este reflexiva.
h

T. Fie (x, y) si (y, z) n D. exista a v si u d cu x = h(a), h(v) = y, h(u) = y si h(d) = z.

h
h
h
h
Deoarece h(v) = h(u) deducem v u. Folosind si a v si u d deducem prin T c
a a d, deci (x, z) D. In
concluzie D este tranzitiv
a.
.

SRew . Fie (X)l =s r if H , un morfism f : T (X) B astfel nc


at pentru orice u =t v H exista buv Bt cu
.
.
a
propriet
atile ft (u) =t buv D si ft (v) =t buv D. Pentru orice context c T (B {z})s dorim sa dovedim c
(c[fs (l)], c[fs (r)]) D.
Deoarece -algebra liber
a T (X) este proiectiv
a si h este un morfism surjectiv pe componente exista un morfism
g : T (X) A astfel nct g; h = f .
.
Deoarece h este surjectiv pe componente pentru orice u =t v H exista auv At cu proprietatea ht (auv ) = buv .
.
Observam c
a pentru orice u =t v H, din
(ht (gt (u)), ht (auv )) D si (ht (gt (u)), ht (auv )) D
deducem

gt (u) auv si gt (v) auv .


h

Deoarece exista un context c T (A {z})s astfel nct hzs (c ) = c folosind SRew deducem c
a c [gs (l)] c [gs (r)].
Prin urmare
(hs (c [gs (l)]), hs (c [gs (r)])) D.
Dar,
c[fs (l)] = hzs (c )[hs (gs (l))] = hs (c [gs (l)])
si
c[fs (r)] = hzs (c )[hs (gs (r))] = hs (c [gs (r)]).
Deci (c[fs (l)], c[fs (r)]) D. 2
Corolar 2.4 a se rescrie modulo o echivalenta
n b, dac
a si numai dac
a clasa de echivalenta
a lui a se rescrie n clasa de
echivalenta
a lui b.
Aceste propozitii arata c
a rescrierea claselor ntr-o algebra ct A/ poate fi nlocuita cu rescrierea modulo din A. Rescrierea
modulo ecuatii este doar un caz particular.
Comentariu. In acest moment cititorul poate ntelege dece am preferat sa ne bazam lectiile pe rescrieri ntr-o algebra,
stil pe care nu l-am mai nt
alnit p
ana n prezent. Autorii prefer
a sa nceap
a cu rescrieri ntr-o algebra libera(term rewriting)
si n momentul c
and ajung la rescrierile modulo ecuatii sa expuna acceasi teorie privind acest alt tip de rescriere. In concluzie
rescrierile ntr-o algebra unfic
a rescrieriele ntr-o algebra libera cu rescrierile modulo ecuatii.

8 DEMONSTRAREA ECUAT
IILOR CONDIT
IONATE
Virgil Emil Cazanescu
February 14, 2010
Pentru doua multimi de -ecuatii conditionate si , vom scrie |= daca si numai daca A |= implic
a A |=

pentru orice -algebr


a A. In acest caz spunem c
a este consecint
a semantic
a a lui .
P
ana acum ne-am ocupat numai de ecuatiile neconditionate adevarate n orice -algebra. In aceasta lectie vom da o cale
prin care se poate demonstra c
a o ecuatie conditionata este adevarata n orice -algebra, adica |= .

Preliminarii

Se arata usor c
a
.

B |= (X)l =s r if H si B |= {(X)u =t v | u =t v H} implic


a B |= (X)l =s r.
.
.
Intradevar pentru orice morfism h : T (X) B din B |= {(X)u =
t v | u =t v H} deducem ht (u) = ht (v) pentru orice
.
.
u =t v H. Prin urmare din B |= (X)l =s r if H rezulta c
a hs (l) = hs (r).

Din p
acate reciproca nu este adevarata n general, ci numai n cazul particular al -algebrei initiale.
Lem
a 1.1
.

B |= ()l =s r if H dac
a si numai dac
a [B |= {()u =t v | u =t v H} implic
a B |= ()l =s r].
.

Demonstratie: Presupunem c
a B |= {()u =t v | u =t v H} implic
a B |= ()l =s r.
.
Fie h : T B cu ht (u) = ht (v) pentru orice u =t v H.
.
.
Probam c
a B |= {()u =t v | u =t v H}. Fie g : T B. Deoarece T este initiala deducem c
a g = h, deci
.
gt (u) = gt (v) pentru orice u =t v H.
.
Din ipoteza deducem B |= ()l =s r, deci hs (l) = hs (r). 2
Corolar 1.2
.

|= ()l =s r if H dac
a si numai dac
a {()u =t v | u = v H} |= ()l =s r.
Demonstratie: Demonstratia se va face printr-un sir de echivalente. Plecam de la
.

|= ()l =s r if H
care prin definitie este echivalent
a cu

(B |= )B |= ()l =s r if H.
Conform lemei afirmatia de mai sus este echivalent
a cu
.

(B |= )(B |= {()u =t v | u = v H} implic


a B |= ()l =s r)
care este echivalent
a cu

(B |= ( {()u =t v | u = v H})) B |= ()l =s r


adica cu

{()u =t v | u = v H} |= ()l =s r. 2
Lema si corolarul precedent ne permit sa spargem o ecuatie conditionata de demonstrat n p
artile ei componente. Din
p
acate acest fapt este posibil numai pentru ecuatiile conditionate fara variabile. Teorema constantelor ne va permite sa
nlocuim demonstrarea unei ecuatii conditionate cu variabile cu o ecuatie conditionata fara variabile.
1

Schimbarea signaturii

Prima etap
a consta n nlocuirea ecuatiei conditionate cu o alta cu o alta echivalent
a dintr-o algebra initiala. Pentru aceasta
este necesara schimbarea signaturii prin transformarea variabilelor din ecuatia conditionata de demonstrat n constante
(simboluri de operatii f
ar
a argumente).
Fie o signatur
a S-sortata si X o multime S-sortata de variabile disjuncta de . Vom lucra n continuare cu o noua
signatur
a S-sortata X care include si n care fiecare x Xs devine un simbol de operatie fara argumente de sort s.
Vom nota cu j : X morfismul incluziune de signaturi. Vom nota functorul uituc cu
M od(j) : AlgX Alg .
a si anume o X -algebr
a va fi scrisa ca o pereche (A, a) unde
In categoria X -algebrelor AlgX vom utiliza o notatie special
A este o -algebr
a si a : X A este o functie S-sortata. Prin -algebra A se dau suporturile si operatiile corespunz
atoare
simbolurilor din iar prin functia a se dau operatiile corespunz
atoare simbolurilor din X, adica operatia corespunz
atoare
lui x Xs este as (x).
Observam c
a h : (A, a) (B, b) este un morfism de X -algebre daca si numai daca h : A B este morfism de
-algebre si a; h = b.
Av
and in vedere notatiile de mai sus observ
am c
a
M od(j)(A, a) = A pentru orice X -algebr
a (A, a) si
M od(j)(h) = h pentru orice X -morfism h.
Schimbarea signaturii cu X impune translatarea -axiomelor n X -axiome.

Translatarea ecuatiilor

Vom nota cu Y o multime de variabile cuantificat


a universal ntr-o -axioma. Fara a restrange generalitatea putem presupune
c
a Y este disjuncta de X. Vom nota cu
i : T (Y ) T (X Y )
unicul -morfism pentru care i(y) = y pentru orice y din Y . Fara a restrange generalitatea putem presupune c
a i este o
incluziune.
Mai observam c
a
TX (Y ) = (T (X Y ), X T (X Y )).
Prin urmare M od(j)(TX (Y )) = T (X Y ).
Observatia 3.1 Pentru orice X -algebr
a (M, m) functia
F : AlgX (TX (Y ), (M, m)) Alg (T (Y ), M)
definit
a prin F (h) = i; M od(j)(h) este o bijectie.
Demonstratie: Observam c
a F (h) este restrictia lui h la T (Y ).
Fie -morfismul u : T (Y ) M si g : T (X Y ) M unicul morfism cu propriet
atile

u(z) daca z Y,
g(z) =
m(z) daca z X.
arui restrictie la T (Y ) coincide cu u. 2
Observam c
a g : TX (Y ) (M, m) este unicul X -morfism a c
Faptele expuse p
ana acum ca si lema urmatoare au un caracter tehnic. Deoarece signatura a fost schimbata este necesar
ca axiomele sa fie rescrise n noua signatur
a. Multimea Y reprezint
a variabilele cuantificate universal dintr-o axioma. Ele
nu sunt afectate prin trecerea la noua signatur
a. Schimbarea signaturii axiomelor este mai mult formala caci n noile axiome
constantele obtinute din variabilele din X nu sunt practic folosite. Aceasta este motivul pentru care n lema si cololarul care
urmeaza functia m, prin care sunt date constantele, apare numai n membrul stang, membrul drept fiind independent de
aceasta.
Fiec
arei -ecuatii conditionate

= (Y )l =s r if H
2

i atasam o alt
a X -ecuatie conditionat
a
.

J() = (Y )is (l) =s is (r) if {it (u) = it (v) | u =t v H}.


Functia J duce o -ecuatie neconditionat
a ntr-o X -ecuatie neconditionata.
Lem
a 3.2 Satisfacerea. Pentru orice X -algebr
a (M, m)
a si numai dac
a M |= .
(M, m) |=X J() dac
a cu
Demonstratie: Observam c
a (M, m) |=X J() este, prin definitie, echivalent
.

a ht (it (u)) = ht (it (v)) pentru orice u =t v, atunci hs (is (l)) = hs (is (r)),
h : TX (Y ) (M, m) dac
prin urmare echivalent
a cu
.

a (i; M od(j)(h))t (u) = (i; M od(j)(h))t (v) pentru orice u =t v H, atunci


h : TX (Y ) (M, m) dac
(i; M od(j)(h))s (l) = (i; M od(j)(h))s (r);
adica echivalent
a cu
.

a F (h)t (u) = F (h)t (v) pentru orice u =t v H, atunci F (h)s (l) = F (h)s (r).
h : TX (Y ) (M, m) dac
a cu
Folosind bijectia de mai sus deducem c
a (M, m) |=X J() este echivalent
.

g : T (Y ) M dac
a gt (u) = gt (v) pentru orice u =t v H, atunci gs (l) = gs (r)
adica cu M |= . 2
Pentru o multime de -ecuatii conditionate notam J() = {J() | }.
Corolar 3.3 Pentru orice X -algebr
a (M, m) si orice multime de -ecuatii conditionate
a si numai dac
a M |= . 2
(M, m) |=X J() dac

Teorema constantelor

Teorema 4.1 Teorema constantelor:


.

|= (X)l =s r if H dac
a si numai dac
a J() |=X ()l =s r if H.
Demonstratie: La nceput vom mentiona forme echivalente pentru cei doi membri ai echivalentei din enunt.
Membrul stang
.
|= (X)l =s r if H
este echivalent succesiv cu:
.

1. Oricare ar fi -algebra A, dac


a A |= , atunci A |= (X)l =s r if H,
.

2. Oricare ar fi -morfismul h : T (X) A |= daca ht (u) = ht (v) pentru orice u =t v H, atunci hs (l) = hs (r).
Membrul drept

J() |=X ()l =s r if H


este echivalent succesiv cu:
1. Oricare ar fi X -algebra (M, m), dac
a (M, m) |=X J(), atunci (M, m) |=X ()l =s r if H,
.

2. Oricare ar fi X -morfismul h : TX (M, m) |=X J() daca ht (u) = ht (v) pentru orice u =t v H, atunci
hs (l) = hs (r).

Presupunem c
a |= (X)l =s r if H. Fie h : TX (M, m) |=X J() cu ht (u) = ht (v) pentru orice u =t v H.
.
Deoarece M |= rezulta c
a M |= (X)l =s r if H prin urmare din h : T (X) M si ht (u) = ht (v) pentru orice
.
u =t v H deducem hs (l) = hs (r).
.

Reciproc, presupunem c
a J() |=X ()l =s r if H. Fie h : T (X) M |= cu ht (u) = ht (v) pentru orice
u =t v H.
.
Deoarece (M, h/X ) |=X J(), h : TX (M, h/X ) este un X -morfism si ht (u) = ht (v) pentru norice u =t v H
din ipoteza deducem hs (l) = hs (r). 2
.

Acest
a teorema ne permite sa elimin
am cuantificatorul universal prin nlocuirea variabilelor cuantificate prin simboluri
de operatii constante. Astfel primul obiectiv de a ne muta ntr-o algebra initiala a fost atins.
Teorema urmatoare nu face dec
at sa traga concluziile, furnizand o cale prin care putem ncerca demonstarea ecuatiilor
conditionate. Problema care ram
ane este demonstrarea corectitudinii programului obtinut folosind noul set de axiome n
ipoteza c
a programul dat de axiomele este corect.
Teorema 4.2 Teorema deductiei:
.

|= (X)l =s r if H dac
a si numai dac
a J() {()u =t v | u =t v H} |=X ()l =s r.
Demonstratie: Conform teoremei constantelor
.

|= (X)l =s r if H
este echivalent
a cu

J() |=X ()l =s r if H


care conform corolarului 1.2 este echivalent
a cu
.

J() {()u =t v H} |=X ()l =s r. 2


.

In concluzie pentru demonstrarea -ecuatiei conditionate (X)l =s r if H putem proceda astfel


schimb
am signatura cu signatura X , translatand axiomele din n noua signatur
a
.

adaugam {()u =t v | u =t v H} la axiome si


.

demonstram ()l =s r n noul context.

9 PERECHI CRITITCE
Virgil Emil Cazanescu
January 26, 2010
Toate algebrele sunt libere. Presupunem n plus ca contine numai ecuatii neconditionate.
Mai mention
am c
a membrul st
ang al unei ecuatii nu poate fi format numai dintr-o variabila, deoarece n caz contrar orice
expresie ar putea fi rescris
a. O consecint
a a acestui fapt este ca nici o variabila nu poate fi rescrisa.

Lem
a 0.1 Pentru orice c A[z] dac
a a d, atunci c[a] c[d].
Demonstratie: Prin inductie structural
a dup
a c.
Dac
a c = z concluzia coincide cu ipoteza.
Dac
a c A utiliz
am reflexivitatea.

Dac
a c = (c1 , c2 , . . . , cn ) din ipoteza de inductie ci [a] ci [d] pentru orice i, prin urmare aplicand C deducem

A (c1 [a], c2 [a], . . . , cn [a]) A (c1 [d], c2 [d], . . . , cn [d]),

deci c[a] c[d]. 2


Lem
a 0.2 Pentru orice c A[z] dac
a a d, atunci c[a] c[d].

Demonstratie: Deoarece exist


a m astfel nc
at a m si d m din lema precedenta deducem

c[a] c[m] si c[d] c[m] de unde rezult


a concluzia. 2
Lem
a 0.3 Dac
a y nu apare n c, atunci (y b)(c[a]) = c[(y b)(a)]. 2
.

ange
Definitia 0.4 Fie (X1 )l1 =s0 r1 si (X2 )l2 =s00 r2 doua axiome din fara variabile comune, ipoteza care nu restr
generalitatea. Fie c n A[z]s0 un context astfel ncat
l1 = c[d]
unde d nu este o variabil
a. Fie u un cel mai general unificator al lui d si al lui l2 . Elementele
u(r1 ) si u(c[r2 ])
formeaz
a o pereche critic
a. 2
Pe scurt not
am multimea perechilor critice
.

PC = {(u(r1 ), u(c[r2 ])) : (X1 )l1 =s0 r1 , (X2 )l2 =s00 r2 , l1 = c[d], d nu este variabila si u = cgu{d, l2 } }
Propozitiile din care se formeaz
a perechile critice sunt axiome, eventual identice, din unde, la nevoie, variabilele uneia
sunt nlocuite cu variabile noi pentru ca cele doua propozitii sa devina fara variabile comune.
Observatia 0.5 Dac
a rescrierea este local confluent
a, atunci PC .
Demonstratie: Observ
am c
a
u(l1 ) u(r1 ) si
z

u(l1 ) = u (c)[u(d)] = uz (c)[u(l2 )] uz (c)[u(r2 )] = u(c[r2 ]).


Deoarece rescrierea este local confluent
a deducem ca
u(r1 ) u(c[r2 ]). 2

Teorema 0.6 Dac


a PC , atunci rescrierea este local confluent
a.
Demonstratie: F
ar
a a micsora generalitatea vom presupune ca toate multimile de variabile cu care lucram sunt disjuncte
dou
a c
ate dou
a si c
a variabilele nou introduse sunt distincte ntre ele si nu apartin altor multimi de variabile.
Presupunem c
a
a a1 si a a2 .
.

at
Prin urmare pentru i [2] exist
a (Xi )li = ri , contextul ci A[zi ] si morfismul hi : T (Xi ) A astfel nc
a = ci [hi (li )] si ai = ci [hi (ri )].
Cei doi subarbori h1 (l1 ) si h2 (l2 ) ai lui a pot fi disjuncti(cazul 1 de mai jos) sau inclusi unul n celalalt(cazurile 2 si 3 trei
de mai jos). In cazurile 2 si 3 vom presupune f
ar
a a restrange generalitatea ca h2 (l2 ) este subarbore a lui h1 (l1 ).

c
a1 :
z1

z2

h1 (r1 )

h2 (l2 )

a:
z1

z2

z1

z2

h1 (l1 )

h2 (l2 )

h1 (r1 )

h2 (r2 )

a2 :
z1

z2

h1 (l1 )

h2 (r2 )

Figure 1: Cazul 1. Subarbori disjuncti


Cazul 1(f
ar
a suprapunere). Exist
a c A[z1 , z2 ] cu cate o aparitie a lui z1 si z2 astfel ncat
c1 = (z2 h2 (l2 ))(c) si c2 = (z1 h1 (l1 ))(c).
Deoarece z1 nu apare n h2 (l2 ) si nici z2 nu apare n h1 (r1 ) deducem
(z1 h1 (r1 ))[(z2 h2 (l2 ))(c)] = (z2 h2 (l2 ))[(z1 h1 (r1 ))(c)].
Observ
am c
a
a1 = (z1 h1 (r1 ))[(z2 h2 (l2 ))(c)] = (z2 h2 (l2 ))[(z1 h1 (r1 ))(c)] prin urmare a1 (z2 h2 (r2 ))[(z1 h1 (r1 ))(c)].
Observ
am c
a
a2 = (z2 h2 (r2 ))([z1 h1 (l1 )](c)) = {(z2 h2 (r2 ))(c)}[h1 (l1 )]
prin urmare
a2 (z1 h1 (r1 ))[(z2 h2 (r2 ))(c)] = [z2 h2 (r2 )][(z1 h1 (r1 ))(c)], deci a1 a2 .
Cazurile 2-3(cu suprapunere, adic
a h2 (l2 ) este subexpresie n imaginea prin h1 a lui l1 ).
Cazul 2(cu suprapunere critic
a, adic
a h2 (l2 ) este imaginea prin h1 al unui subtermen d al lui l1 care nu este variabil
a).
Prin urmare

c1
z1
a:

c1

hz12 (c)

z1

z2

h1 (l1 )

h1 (d)
=
h2 (l2 )

a1 :

c1

h1 (r1 )

c1
z1
a2 :

z1

c1

hz12 (c)

z1

z2

h2 (r2 )
Figure 2: Cazul 2. Cu suprapunere critica
l1 = c[d] unde c este un context cu variabila distinsa z2 ,
h1 (d) = h2 (l2 )

si

c2 = (z1 hz12 (c))(c1 ).

Ultima egalitate este motivat


a de urm
atoarele calcule
a = c1 [h1 (l1 )] = c1 [h1 (c[d])] = c1 [hz12 (c)[h1 (d)]] = c1 [hz12 (c)][h2 (l2 )].
Fie
h : T (X1 X2 ) A
unicul morfism care extinde at
at pe h1 c
at si pe h2 . Observam ca h este un unificator pentru d si l2 . Fie
u : T (X1 X2 ) T un cel mai general unificator al lui d si l2 si t : T A unicul morfism cu proprietatea u; t = h.
Doarece d nu este variabil
a rezult
a c
a u(r1 ) si u(c[r2 ]) formeaza o pereche critica. Din ipoteza deducem u(r1 ) u(c[r2 ]).
Aplic
and morfismul t obtinem t(u(r1 )) t(u(c[r2 ])), deci
h(r1 ) h(c[r2 ]).
Prin urmare exist
a w astfel nc
at

h1 (r1 ) w si h(c[r2 ]) w.

Din prima rescriere deducem a1 = c1 [h1 (r1 )] c1 [w].


Utiliz
and a doua rescriere deducem
a2 = (z1 hz12 (c))(c1 )[h2 (r2 )] = (z2 h2 (r2 ))((z1 hz12 (c))(c1 )) = (z1 hz12 (c); z2 h2 (r2 ))(c1 ) =

=(z1 hz12 (c)[z2 h2 (r2 )])(c1 ) = c1 [h(c[r2 ])] c1 [w],


deci a1 a2 .
Cazul 3(cu suprapunere necritic
a, adic
a h2 (l2 ) este subexpresie n imaginea prin h1 a unei variabile x din l1 ).
Not
am cu c A[z2 ] contextul n care se g
aseste h2 (l2 ) n h1 (x), prin urmare
h1 (x) = c[h2 (l2 )]
Fie
u : T (X1 ) A[x]
3

(1)

c1
z1
h1 (l1 )
a:
x
c

...

...

z2

h1 (x)

h2 (l2 )

h1 (x)

c1
z1
fost h1 (l1 )

a2 :

...

c1

x
c
z2

...

z1
h2 (r2 )

h2 (l2 )

h1 (r1 )

h2 (l2 )

a1 :

x
c
z2

...

h2 (l2 )

x
c
z2

c1
z1

h2 (l2 )

c1 [(u; x c[h2 (r2 )])(l1 )]

fost h1 (l1 )

c1
c1 [(u; x c[h2 (r2 )])(r1 )]

z1

...

h2 (r2 )

x
h2 (r2 )

...

x
h2 (r2 )

h1 (r1 )

x
c
z2
h2 (r2 )

...

x
c
z2
h2 (r2 )

Figure 3: Cazul 3. Cu suprapunere necritica


unicul morfism cu u(x) = x si care actioneaz
a ca h1 pe T (X1 {x}). Observam ca h1 = u; x h1 (x).
In plus x h1 (x) = x c[z2 h2 (l2 )] = x c ; z2 h2 (l2 ), deci
h1 = u; x c; z2 h2 (l2 ).
4

Deoarece
h1 (r1 ) = (z2 h2 (l2 ))((u; x c)(r1 ))
a
observ
am, deoarece z2 nu apare n c1 , c
a1 = c1 [(z2 h2 (l2 ))((u; x c)(r1 ))] = (z2 h2 (l2 ))(c1 [(u; x c)(r1 )]) = (c1 [(u; x c)(r1 )])[h2 (l2 )],
prin urmare

a1 c1 [(u; x c)(r1 )])[h2 (r2 )] = (z2 h2 (r2 ))(c1 [(u; x c)(r1 )]) = c1 [(z2 h2 (r2 ))((u; x c)(r1 ))]
deci

a1 c1 [(u; x c; z2 h2 (r2 ))(r1 )] = c1 [(u; x c[h2 (r2 )])(r1 )].


Pentru a continua analiz
am contextul c2 si observam ca n acesta apar subarbori de doua tipuri provenind din variabila
x din l1
1) Aparitia lui x care creaz
a subtermenul h2 (l2 ) care este rescris pentru a-l obtine pe a2 si care n c2 este nlocuit
a cu
subarborele c
2) Restul aparitiilor lui x din l1 care n c2 dau nastere unui subarbore h1 (x).
Pentru a diferentia aceste aparitii ale lui x n l procedam dupa cum descriem n cele de mai jos.
Pun
and n evident
a n l1 aparitia lui x care prin aplicarea lui h1 da nastere subtermenului h2 (l2 ) care este rescris pentru
a da nastere lui a2 si substituind-o cu o variabil
a noua z obtinem un context l T (X1 {z}) cu proprietatea l1 = l[x].
Fie w : T (X1 {z}) A[z2 ] unicul morfism cu proprietatile w(x1 ) = h1 (x1 ) pentru orice x1 X1 si w(z) = c.
Observ
am c
a
z x; h1 = w; z2 h2 (l2 ).
Folosind egalitatea tocmai dovedit
a, deoarece z2 nu apare n c1
a = c1 [h1 ((z x)(l))] = c1 [(z2 h2 (l2 ))(w(l))] = (z2 h2 (l2 ))(c1 [w(l)]) = (c1 [w(l)])[h2 (l2 )]
deducem c
a
c2 = c1 [w(l)].
Fie p : T (X1 {z}) A[x] morfismul definit prin p(x1 ) = h1 (x1 ) pentru orice x1 X1 {x}, p(x) = x si p(z) = c[h2 (r2 )].
Observ
am c
a
w; z2 h2 (r2 ) = p; x h1 (x).
a2 = c2 [h2 (r2 )] = (z2 h2 (r2 ))(c1 [w(l)]) = c1 [(w; z2 h2 (r2 ))(l)] = c1 [(p; x h1 (x))(l)]
= c1 [(z2 h2 (l2 ))((p; x c)(l))] = (z2 h2 (l2 ))(c1 [(p; x c)(l)]) = (c1 [(p; x c)(l)])[h2 (l2 )].
Prin urmare

a2 (c1 [(p; x c)(l)])[h2 (r2 )] = (z2 h2 (r2 ))(c1 [(p; x c)(l)]) = c1 [(p; x c; z2 h2 (r2 ))(l)].
Observ
am c
a
p; x c; z2 h2 (r2 ) = z x; u; x c[h2 (r2 )]
prin urmare

a2 c1 [(z x; u; x c[h2 (r2 )])(l)] = c1 [(u; x c[h2 (r2 )])(l1 )] c1 [(u; x c[h2 (r2 )])(r1 )]
deci
a1 a2 . 2

10 TERMINAREA si PROCEDURA KNUTH-BENDIX


Virgil Emil Cazanescu
November 16, 2009

Terminarea programelor

Terminarea este o propritate impus


a de practica. Din p
acate nu dispunem nc
a de metode puternice pentru a proba aceasta
proprietate. Dam n cele ce urmeaza c
ateva fapte care ne permit uneori sa prob
am terminarea.

Reamintim c
a prin ns
asi definitia rescrierii ntr-un pas, a d implic
a a 6= d. Rescrierea are proprietatea de
terminare daca nu exista siruri {an }nN cu proprietatea an an+1 pentru orice n N.
In teorema urmatoare vom folosi notatia
a |= d dac
a si numai daca a = d sau (a) (d).
Teorema 1.1 Urm
atoarele propriet
ati sunt echivalente
1. Rescrierea are proprietatea de terminare,
+

2. este o relatie de ordine strict


a si noetherian
a,
3. exist
a o relatie de ordine pe A compatibil
a cu structura algebric
a cu propriet
atile:
(a) varianta ei strict
a > este noetherian
a,
(b) pentru orice (P)l =s r if H si orice h : P A dac
a h(H) , atunci h(l) h(r)
4. exist
a o relatie noetherian
a pe o multime M si o functie : A M cu propriet
atile
(a) pentru orice (P)l =s r if H si orice h : P A dac
a h(H) , atunci h(l) |= h(r)
(b) pentru orice n 1 si s1 s2 ...sn ,s ,
(a) (d) implic
a A (a1 , . . . , ai1 , a, ai+1 , . . . , an ) |= A (a1 , . . . , ai1 , d, ai+1 , . . . , an ),
5. exist
a o relatie noetherian
a pe o multime M si : A M o functie cu propriet
atile
(a) pentru orice (P)l =s r if H si orice h : P A dac
a h(H) , atunci h(l) |= h(r),
a (a) (d), atunci c[z a] |= c[z d],
(b) pentru orice context c A[z]s si pentru orice a, d As dac
6. exist
a o relatie noetherian
a pe multimea M si : A M o functie cu proprietatea
(a) a d implic
a (a) (d).
Demonstratie:
+
12. E suficient sa prob
am c
a a a este falsa pentru orice a A. Presupunand prin absurd existenta lui a A cu
+
proprietatea a a se poate construi un sir care contrazice terminarea.

23. Rescrierea verific


a conditiile cerute.
34. Pentru M = A si aplicatia identic
a, observam c
a relatia > verific
a conditiile cerute.
45. Prin inductie structural
a dupa contextul c. Observam c
a elementele algebrei A nu sunt contexte.
Dac
a c = z, deoarece c[z a] = a si c[z d] = d concluzia rezulta usor din ipoteza.

a n 1. In plus exista un
Dac
a c = A[z] (a1 , a2 , . . . , an ) unde s1 s2 ...sn ,s . Deoarece c este context rezulta c
i [n] astfel nc
a ai este context si restul argumentelor lui A[z] sunt din A. Din ipoteza de inductie deducem c
a
(ai [z a]) (ai [z d]). Din ipoteza rezulta c
a
A (a1 , . . . , ai1 , ai [z a], ai+1 , . . . , an ) |= A (a1 , . . . , ai1 , ai [z d], ai+1 , . . . , an ).
Deoarece c[z a] = A (a1 , . . . , ai1 , ai [z a], ai+1 , . . . , an ) si c[z d] = A (a1 , . . . , ai1 , ai [z d], ai+1 , . . . , an ) deducem
c
a c[z a] |= c[z d].
56. Presupunem c
a a d. Prin urmare exista (P)l =s r if H , morfismul h : P A si contextul c A[z]s cu
propriet
atile h(H) , a = c[z hs (l)] si d = c[z hs (r)]. In plus a 6= d, prin urmare hs (l) 6= hs (r).
Din prima ipoteza deducem (hs (l)) (hs (r)). Aplic
and a doua ipoteza rezulta c
a
(c[z hs (l)]) (c[z hs (r)]). Prin urmare (a) (d).

61. Presupunrm prin absurd c


a nu are proprietatea de terminare. Prin urmare exista sirul {an }n cu proprietatea an an+1 pentru orice n natural. Aplic
and functia elementelor acestui sir obtinem un alt sir care contrazice
noetherianitatea relatiei . 2

Se poate observa diferenta esentiala dintre cele doua ipoteze ale variantelor 4 sau 5 din teorema 1.1. Prima se refera la
rolul algebrei A fiind secundar. A doua ipoteza nu are nici o leg
atura cu fiind de fapt o proprietate de compatibilitate
ntre algebra A si relatia utilizata.

Exemplul teoriei grupurilor

Vom aplica teoria de mai sus pentru programul corespunz


ator teoriei grupurilor.
obj GRUP is sort E .
op _*_ : E E -> E .
op e : -> E .
op _ : E -> E [prec 2].
var A B C : E .
eq (A*B) = B * A .
eq A = A .
eq e = e .
eq (A*B)*C = A*(B*C) .
eq e * A = A .
eq A * e = A .
eq A * A = e .
eq A * A = e .
eq A * (A * B) = B .
eq A * (A * B) = B .
endo
Ca relatie noetherian
a vom folosi relatia strict mai mare uzuala > pe multimea numerelor naturale. Algebra pentru
care facem demonstratia este presupus
a a fi o algebra libera. Aceasta ipoteza permite definirea functiei este astfel:
(e) = 2, (x) = 2 pentru orice variabil
ax
(t ) = 2(t) si (t s) = (t)2 (s).
Observam c
a (t) 2 pentru orice termen t.
Verific
am prima ipoteza a echivalentelor 4 sau 5 din teorema 1.1.
2

1. (h((A B) )) = ((h(A) h(B)) ) = 2(h(A)) (h(B))


(h(B A )) = (h(B) h(A) ) = (2(h(B)) )2 2(h(A)) = 22(h(B))+(h(A))
Not
and x = (h(A)) 2 si y = (h(B)) 2 observam c
a este suficient sa demonstram c
a
(x + 2)2 (y + 2) > 2(y + 2) + (x + 2) oricare ar fi numerele naturale x, y, ceea ce este usor.
(h(A))

2. (h(A )) = 22

> (h(A))
2

3. (h(e )) = (h(e) ) = 22 = 4 > 2 = (h(e))


4. (h((A B) C)) = ((h(A))2 (h(B)))2 (h(C)) = (h(A))4 (h(B))2 (h(C)) > (h(A))2 (h(B))2 (h(C)) =
(h(A (B C)))
5. (h(e A)) = 22 (h(A)) > (h(A))
6. (h(A e)) = 2(h(A))2 > (h(A))
7. (h(A A)) = (2(h(A)) )2 (h(A)) > 2 = (h(e))
8. (h(A A )) = (h(A))2 2(h(A)) > 2 = (h(e))
9. (h(A (A B))) = (2(h(A)) )2 (h(A))2 (h(B)) > (h(B))
10. (h(A (A B))) = (h(A))2 (2(h(A)) )2 (h(B)) > (h(B))
Verificarea ipotezei a doua din echivalenta 4 este imediat
a.

Completarea Knuth-Bendix

Este vorba de o procedura care ne permite n anumite conditii destul de restrictive sa g


asim un program pentru o prezentare
ecuational
a data. Conditiile sunt restrictive deoarece se presupune existenta unei relatii care sa verifice conditia (b) din
conditiile echivalente 4 sau 5 din teorema 1.1. In aceste conditii atentia se va concentra asupra veridicitatii conditiei (a) din
aceleasi conditii echivalente.

3.1

Un exemplu

Vom ncepe cu un exemplu care va ar


ata cum se obtine programul pentru teoria grupurilor din specificatia uzuala a grupurilor.
Specificatia uzuala de la care plecam este inclusa n programul de mai sus.
eA=A

(1)

A A = e

(2)

(A B) C = A (B C)

(3)

In acest exemplu ne baz


am mai mult pe intuitie, ncercand sa realizam nt
alnirea prin rescrierea perechilor critice. Cautam
cel mai general unificator u pentru membrul st
ang l2 al unei ecuatii E2 si un subtermen d al unui membru stang l1 al unei
ecuatii E1 , posibil aceeasi. Prin urmare exista un context c astfel nc
at l1 = c[d]. Apoi rescriem u(l1 ) la doua forme normale
n1 si n2 ncepand cu
u(l1 ) u(r1 )

si

u(l1 ) = uz (c)[u(l2 )] uz (c)[u(r2 )] = u(c[r2 ])

dupa care adaugam una dintre ecuatiile n1 = n2 sau n2 = n1 cu intentia de a asigura local confluenta. Vom specula existenta
functiei si a relatiei > pe numere naturale din exemplul dat n sectiunea 2, pentru a alege ntre cele doua egalitati si anume
.
dac
a (n1 ) > (n2 ) alegem n1 = n2 pentru a o adauga celorlalte reguli.
Unificand membrul st
ang al lui (2) cu subtermenul A B din membrul stang al lui (3) si calculand formele normale
obtinem
2
1
(A A) C e C C
3

(A A) C A (A C)
prin urmare adaugam regula
A (A C) = C

(4)

Unificand membrul st
ang al lui (1) cu subtermenul A C din membrul stang al lui (4) si calculand formele normale
obtinem
4
e (e A) A
1

e (e A) e A

prin urmare adaugam regula


e A = A

(5)

Mai t
arziu vom observa c
a aceasta regul
a este superflu
a.
Unificand membrul st
ang al lui (2) cu subtermenul A C din membrul stang al lui (4) si calculand formele normale
obtinem
2
B (B B) B e
4

B (B B) B
prin urmare adaugam regula
B e = B

(6)

Mai t
arziu vom observa c
a aceasta regul
a este superflu
a.
Unificand membrul st
ang al lui (6) cu subtermenul A B din membrul stang al lui (3) si calculand formele normale
obtinem
3
1
(B e) A B (e A) B A
6

(B e) A B A
prin urmare adaugam regula
B A = B A

(7)

Mai t
arziu vom observa c
a aceasta regul
a este superflu
a.
Unificand membrul st
ang al lui (6) cu membrul stang al lui (7) si calculand formele normale obtinem
6

B e B
7

B e B e
prin urmare adaugam regula
Be=B

(8)

Unificand membrul st
ang al lui (6) cu membrul stang al lui (8) si calculand formele normale obtinem
6

B e B
8

B e B
prin urmare adaugam regula
B = B

(9)

M
arind lista regulilor cu noi reguli de rescriere, este posibil ca unele reguli sa devin
a inutile, fiind posibila nl
aturarea lor
.
.
a folosind celelalte reguli (f
ara l1 = l2 )
f
ar
a a pierde din forta rescrierii. Concret, dac
a se constata pentru o regul
a l1 = l2 c
.
l1 si l2 pot fi rescrise n aceeasi forma normal
a, atunci vom elimina regula l1 = l2 .
In acest moment regulile (6) si (7) pot fi eliminate deoarece
9

B e B e B

si

B A B A.
Lucram n continuare cu regulile (1,2,3,4,5,8 si 9).
Unificand membrul st
ang al lui (5) cu membrul stang al lui (8) si calculand formele normale obtinem
5

e e e
8

e e e
prin urmare adaugam regula
e = e

(10)

In acest moment regula (5) poate fi eliminat


a deoarece
10

e A e A A
4

Lucram n continuare cu regulile (1,2,3,4,8,9 si 10).


Unificand membrul st
ang al lui (9) cu subtermenul A din membrul stang al lui (2) si calculand formele normale obtinem
2

B B e
9

B B B B
prin urmare adaugam regula
B B = e

(11)

Unificand membrul st
ang al lui (11) cu subtermenul A B din membrul stang al lui (3) si calculand formele normale
obtinem
3
(A A ) C A (A C)
11

(A A ) C e C C
prin urmare adaugam regula
A (A C) = C

(12)

Unificand membrul st
ang al lui (3) cu membrul stang al lui (11) si calculand formele normale obtinem
3

(A B) (A B) A (B (A B) )
11

(A B) (A B) e
prin urmare adaugam regula
A (B (A B) ) = e

(13)

Mai t
arziu vom observa c
a aceasta regul
a este superflu
a.
Unificand membrul st
ang al lui (13) cu subtermenul A C din membrul stang al lui (4) si calculand formele normale
obtinem
13
8
A (A (B (A B) )) A e A
4

A (A (B (A B) )) B (A B)
prin urmare adaugam regula
B (A B) = A

(14)

Mai t
arziu vom observa c
a aceasta regul
a este superflu
a.
In acest moment regula (13) poate fi eliminata deoarece
14

11

A (B (A B) ) A A e
Lucram n continuare cu regulile (1,2,3,4,8,9,10,11,12 si 14).
Unificand membrul st
ang al lui (14) cu subtermenul A C din membrul stang al lui (4) si calculand formele normale
obtinem
14
B (B (A B) ) B A
4

B (B (A B) ) (A B)
prin urmare adaugam regula
(A B) = B A

(15)

In acest moment regula (14) poate fi eliminat


a deoarece
15

12

B (A B) B (B A ) A
Regulile ramase (1,2,3,4,8,9,10,11,12 si 15) coincid cu programul prezentat n sectiunea 2.
Despre problema punerii celor doua expresii n membrul stang, respectiv drept, al noilor ecuatii am putea spune c
a am
plasat expresia mai complexa n membrul st
ang pentru ca regula sa conduca de la complex la simplu. Dar oare ce nseamn
a
mai simplu sau mai complex?
De fapt le-am pus ca n programul din sectiunea 2 ca sa d
am din nou peste el. Dar nici acesta nu este un criteriu, deoarece
procedura are chiar rolul de a crea un program pe care nu-l cunoastem.
Singura motivatie corecta este c
a alegerea este facuta pentru ca regula creat
a sa verifice conditia necesara pentru demonstrarea terminarii, fapt dat de functia si relatia > pentru numere naturale.
5

3.2

Procedura Knuth-Bendix, varianta redus


a

Toate ecuatiile utilizate n aceasta sectiune sunt neconditionate.


Procedura Knuth-Bendix se aplic
a unei specificatii ecuationale E. Vom prezenta la nceput, din motive didactice, o
variant
a incompleta.
Procedura lucreaz
a cu o multime de ecuatii si o multime de reguli. Initial E0 = E si 0 = .
La fiecare pas se alege o ecuatie care la terminarea pasului se va elimina din multimea ecuatiilor. Fiecare termen al
ecuatiei se aduce la o forma normal
a folosind multimea regulilor. Vom considera doua cazuri.
A) Dac
a cele doua forme normale coincid pasul consta doar n eliminarea ecuatiei.
B) Dac
a cele doua forme normale sunt diferite, ele vor alc
atui o noua regul
a care se adauga multimii regulilor. Din noua
regul
a si din noua multime de reguli se calculeaza toate perechile critice posibile care se adauga la multimea ecuatiilor.
Dac
a procedura se termin
a prin epuizarea multimii ecuatiilor, multimea final
a de reguli este local confluent
a si o specificatie
echivalent
a cu cea initiala.
A
Observatia 3.1 Dac
a 1 , atunci A
a A.
1 pentru orice algebr

Demonstratie: Fie a A
1 b.
Fie h : A B |= . Deoarece B |= 1 deducem h(a) = h(b). Deci a A
b. 2
Pentru doua multimi de ecuatii neconditionate vom folosi notatia
1
cu semnificatia
T (X)

v pentru orice (X)u = v 1

Observatia 3.2
Propozitie 3.3 Dac
a 1 , atunci
1) Orice -algebr
a este 1 -algebr
a si
A
2) A

.
1

Demonstratie: 1) Presupunem A |= .
T (X)
v si h : T (X) A |= deducem h(u) = h(v).
Fie (X)u = v 1 si h : T (X) A. Deoarece u
am c
a a d. Fie h : A M |= . Prin urmare h : A M |= 1 ,
2) Presupunem n -algebra A c
a a 1 d si prob
deci din a 1 d deducem h(a) = h(d). 2
am incluziunile
Mention
am utilitatea concluziei a doua. Pentru a demonstra egalitatea =1 este suficient sa prob
1 si 1 .
Observatia 3.4 Dac
a (w, v) este o pereche critic
a pentru , atunci w v.
Demonstratie: Presupunem w = u(r1 ) si v = u(c[z r2 ]) unde (l1 = c[z d], r1 ) si (l2 , r2 ) sunt reguli cu multimi

de variabile disjuncte din si u = cgu(d, l2 ). Deoarece u(l1 ) w si u(l1 ) v din corectitudinea relatiei deducem
w v. 2
Propozitie 3.5 Echivalenta semantic
a asociat
a reuniunii multimii ecuatiilor cu multimea regulilor este un invariant al
procedurii.
Demonstratie: S
a presupunem c
a la nceputul pasului multimea de ecuatii este E{(X)l = r} cu ecuatia aleas
a (X)l = r
si multimea de reguli . Fie l forma normal
a a lui l si r forma normala a lui r.
In cazul A) l r implic
a l E r, prin urmare din corectitudinea relatiei E deducem l E r. Prin urmare
E {(X)l = r} E deci din propozitia 3.3 deducem E{(X)l=r} E . Incluziunea contrara fiind evident
a
obtinem concluzia.
Trecem la cazul B). Fie P multimea perechilor critice dintre l = r si {l = r }. Din observatia 3.4 deducem
P {l =r } .

Din l l si r r deducem l l si r r . Folosind l (X)l=r r si l (X)l =r r deducem l (X)l =r r


si l (X)l=r r , prin urmare
l EP (X)l =r r si l E(X)l=r r .
6

Din l (X)l=r r deducem (X)l = r (X)l=r , asadar (X)l =r (X)l=r , deci


P E(X)l=r .
Din cele de mai sus deducem
E P (X)l = r E(X)l=r si
E (X)l = r EP (X)l =r ,
deci
E(X)l=r = EP (X)l =r .2
Propozitie 3.6 Dac
a procedura se termin
a, multimea final
a de reguli genereaz
a o rescrire local confluent
a.
Demonstratie:
Observam c
a pe parcursul algoritmului multimea regulilor devine din ce n ce mai mare, fara a fi scoase reguli din aceasta
multime. Prin urmare orice rescriere posibil
a ntr-un anumit moment al algoritmului ram
ane posibila p
ana la terminarea
algoritmului.
Conform teoremei din lectia precedent
a este suficient sa prob
am c
a multimea perechilor critice este inclusa n relatia de
nt
alnire prin rescriere.
Fie (a, b) o pereche critic
a pentru multimea final
a de reguli. Din pasul B al algoritmului rezulta c
a perechea critica (a, b)
.
este adaugata multimii ecuatiilor. Pentru ca ecuatia a = b sa dispara din multimea ecuatiilor se calculeaza f n(a) forma
normala a lui a si f n(b) forma normal
a a lui b. Dac
a f n(a) = f n(b) rezulta c
a a si b se nt
alnesc prin rescriere. In caz contrar
.
.
se adauga noua regul
a f n(a) = f n(b) sau f n(a) = f n(b) ceea ce face ca a si b sa se nt
alneasca prin rescriere.
Pentru a obtine concluzia este suficient sa mai aplic
am teorema perechilor critice pentru cazul ecuational. 2

3.3

Procedura Knuth-Bendix

Forma complet
a a procedurii Knuth-Bendix se obtine folosind un criteriu care sa asigure terminarea programului final.
G
asirea acestui criteriu este o problem
a dificila. Ipoteza care accept
a acest criteriu este partea slaba a acestei proceduri.
Criteriul este folosit numai n cazul B al procedurii n momentul adaugarii unei noi reguli. Cele doua forme normale
diferite pot forma o regul
a n doua moduri diferite. Criteriul este folosit numai pentru alegerea uneia dintre cele doua
variante. Dac
a criteriul nu poate alege, atunci procedura se blocheaz
a.

Dupa cum am vazut mai sus procedura lucreaza numai cu termeni, prin urmare criterul se refera numai la algebra T (X)
a termenilor.
Criteriul A: exista o relatie de ordine compatibila cu structura algebrica, a c
arei variant
a stricta este noetherian
a.

Criteriul B: exista o relatie noetherian


a pe o multime M si o functie : A M cu proprietatea pentru orice n 1 si
s1 s2 ...sn ,s ,
(a) (d) implic
a A (a1 , . . . , ai1 , a, ai+1 , . . . , an ) |= A (a1 , . . . , ai1 , d, ai+1 , . . . , an ),
Aplicarea criteriului la alegerea regulilor face posibil
a aplicarea teoremei 1.1 programului final. Se observa deci c
a programul final se termin
a.

Chapter 3

TEOREMELE LUI HERBRAND


3.1

Introducere

Reamintim urmatoarele definitii specifice logicii ecuationale multisortate.


.

ati formale ntre elemente


Definitia 3.1.1 Fie -algebra T (X) si G = {l1 =s1 r1 , . . . , ln =sn rn } o multime de egalit
.
din T (X). Atunci = (X)l =s r if G se numeste clauz
a. Not
am cu o multime de clauze.
Notatii 3.1.2 Fie A o -algebr
a si o clauz
a ca mai sus. Not
am A |= dac
a pentru orice morfism h : T (X) A
astfel nc
at h(li ) = h(ri ) pentru orice i [n] avem h(l) = h(r). Similar A |= dac
a A |= pentru orice .
In
acest caz spunem c
a A este o -algebr
a.
Notatii 3.1.3 Not
am cu T = T () -algebra initial
a (adic
a obiectul initial n categoria -algebrelor) si cu T,
-algebra initial
a (adic
a obiectul initial n categoria -algebrelor, subcategorie a categoriei -algebrelor).
Introducem o noua definitie si o noua notatie pentru programarea logic
a ecuational
a.
.

ati formale ntre elemente


Definitia 3.1.4 Fie A o -algebr
a si G = {l1 =s1 r1 , . . . , ln =sn rn } o multime de egalit
din T (X). A |= (X)G dac
a exist
a morfismul h : T (X) A astfel nc
at h(li ) = h(ri ) pentru orice i [n] .
.

ati formale ntre


Notatii 3.1.5 Fie o multime de clauze si G = {l1 =s1 r1 , . . . , ln =sn rn } o multime de egalit
elemente din T (X). Not
am |= (X)G dac
a A |= (X)G pentru orice -algebr
a A.
Programarea logic
a ecuational
a isi pune urmatoarea problem
a (X)G.
Teoremele lui Herbrand se refer
a la posibilitatea rezolv
arii acestor ecuatii n toate -algebrele.
Morfismele de algebre se extind natural pentru perechi de elemente si pentru multimi de perechi de elemente.
.
.
Dac
a h : A B atunci pentru orice a, b A prin definitie h((a, b)) = (h(a), h(b)) sau hs (a =s b) = (hs (a) =s hs (b)).
De asemenea n locul notatiei hs (a) = hs (b) vom mai utiliza hs ((a, b)) B .

3.2

Teoremele lui Herbrand

In literatura de specialitate se g
asesc doua teoreme ale lui Herbrand. Teorema care urmeaza combina cele doua
teoreme ntr-una singura.
Teorema 3.2.1 Urm
atoarele afirmatii sunt echivalente:
1. |= (X)G ;
2. T, |= (X)G ;
3. Exist
a : T (X) T astfel nc
at |= ()(G), unde (G) = {(l1 ) =s1 (r1 ), ..., (ln ) =sn (rn )} .
Demonstratie: (1) (2) este evident
a, deoarece T, este o -algebra.
(2) (3) Conform ipotezei, exista h : T (X) T, astfel nc
at h(li ) = h(ri ) pentru orice i [n]. Pentru c
a
T (X) este algebra liber
a si deci proiectiv
a, exista : T (X) T astfel nc
at ;b= h.
5


T (X)
@
@
h @
@
R
@
T,

Figure 3.1: Proiectivitatea -algebrei T (X)

di ) = (r
di ) pentru orice i [n]. Deoarece T, se obtine prin factorizarea algebrei T la
Avem deci c
a (l
congruenta semantic
a deducem c
a (li ) (ri ) pentru orice i [n].
Rezult
a c
a pentru orice morfism f : T A |= c
a f ((li )) = f ((ri )) pentru orice i [n].
Prin urmare |= ()(G).
(3) (1) Fie M o -algebra. Avem de ar
atat c
a M |= (X)G.
Aratam c
a ; M : T (X) M este morfismul care verific
a proprietatea din definitie. Deoarece M |= ,
din ipoteza rezulta c
a M |= ()(G). Utilizand n definitie morfismul M : T M deducem c
a M ((li )) =
M ((ri )), pentru orice i [n]. Rezult
a c
a (; M )(li ) = (; M )(ri ), pentru orice i [n].
Deci M |= (X)G si demonstratia se ncheie. 2
Prima echivalent
a a teoremei arata c
a problema program
arii logice se reduce la rezolvarea ei n -algebra initiala
0, , pas deosebit de mare deoarece n loc de o clasa de algebre lucram numai cu o algebra.
A treia afirmatie din teorem
a ne arata c
a rezolvarea problemei se poate face utilizand numai algebre libere. Ea
face leg
atura cu programarea ecuational
a si cu conceptul de solutie.
A treia afirmatie mai arata c
a pentru existenta solutiei este necesar ca suporturile din -algebra initiala T ,
corespunz
atoare sorturilor variabilelor cuantificate existential, sa fie nevide.
Exercitiu. Dat
a signatura , sa se determine multimea sorturilor pentru care suportul corespunz
ator din T este
nevid.
Din a treia afirmatie a teoremei lui Herbrand se mai vede c
a solutia : T (X) T se caut
a ntr-o subalgebra
T a algebrei T (X) n care este pus
a problema (X)G. Chiar daca n T nu mai apare nici o variabil
a, acest fapt
este neglijat n practic
a. S
a presupunem c
a avem de rezolvat ecuatia x = f (y) unde evident X = {x, y}. Solutia
este data chiar de aceasta ecuatie, adica n T ({y}) chiar daca suportul corespunz
ator lui y este vid n T . Prin
urmare ecuatia x = f (y) va avea solutie numai n algebrele n care suportul corespunz
ator sortului lui y este nevid.
In continuare ne vor interesa si astfel de solutii.

Chapter 4

CORECTITUDINEA REGULILOR

LOGICE
PROGRAMARII
4.1

Preliminarii

Amintim c
a pentru o -algebra A, Sen(A ) = {a=
s b | s S, a, b As } (propozitiile lui A).
In continuare vom considera o multime de ecuatii conditionate, iar G Sen(A).
Spunem c
a |= (A)G dac
a, pentru orice -morfism h : A M |= , avem hs (a) = hs (b), pentru orice
a=
s b G. Pentru usurint
a, vom mai nota si cu h(G) M faptul c
a hs (a) = hs (b), pentru orice a=
s b G, unde
h : A M.
a prin:
Congruenta semantic
a A
, relativ la o -algebra A, este definit
s b hs (a) = hs (b), pentru orice h : A M|= .
a A
b |= a=
Observatie. |= (A)G dac
a si numai dac
a G A
.
B
Propozitie 4.1.1 Dac
a h : A B este un -morfism, atunci h(A
) .

Demonstratie Fie a A
a ar
atam c
a h(a) B
b. Vrem s
h(b).
Fie f : B M|= . Cum h; f : A M|= si a A
a c
a (h; f )(a) = (h; f )(b), echivalent cu
b, rezult
f (h(a)) = f (h(b)). Cum f a fost ales arbitrar, rezulta c
a h(a) B
h(b).
2

Corolar 4.1.1 Dac


a |= (A)G si h : A B un -morfism, atunci |= (B)h(G).
and Propozitia 4.1.1, deducem h(G)
Demonstratie Din ipoteza, conform observatiei, deducem c
a G A
. Aplic
B
, deci, conform observatiei, |= (B)h(G). 2
Fie A o -algebr
a si z o noua variabil
a de sort s astfel nc
at z
/ As . Consideram algebra liber generata de
A {z}, T (A {z}), pe care o not
am cu A[z]. Un element c din A[z] se numeste context daca numarul aparitiilor
lui z n c este 1. Pentru d As , vom nota cu (z d) : A[z] A unicul -morfism cu proprietatea (z d)(z) = d
si (z d)(a) = a, pentru orice a A. Pentru orice t din A[z] si a As , vom prefera sa scriem t[a], n loc de
(z a)(t).
Datorit
a faptului c
a regulile program
arii logice lucreaza pe multimi de egalitati formale, vom defini notiunea de
context extins. Fie A o -algebr
a, c A[z]s un context si v As . O egalitate formala de forma c=
s v sau v =
s c se
s v (respectiv v =
s c) va fi notat cu C. S
a observam c
a
numeste context extins. Un context extins c=
(c=
s v)[a] = (z a)(c=
s v) = (c[a]=
s c[v]) = (c[a]=
s v).
Orice morfism h : A B se poate extinde, n mod unic, la un morfism hz : A[z] B[z] prin hz (z) = z si
h (a) = h(a), pentru orice a A. Pentru orice a A, avem (z a); h = hz ; (z h(a)). Pentru un context c A[z]
deducem c
a h(c[a]) = hz (c)[h(a)], unde hz (c) este context.
z

Pentru C un context extins, se observ


a c
a hz (C) este un context extins si c
a
h(C[a]) = hz (C)[h(a)].

4.2

Solutii si reguli de deductie

Problema program
arii logice este (A)G.
Definitie 4.2.1 Un -morfism s : A B se numeste solutie pentru (A)G dac
a |= (B)s(G).
Propozitie 4.2.1 Compunerea unei solutii cu orice -morfism este solutie.
Demonstratie Fie s : A B o solutie pentru (A)G si h : B C un morfism. Vrem sa aratam c
a s; h : A C
este solutie pentru (A)G, adica |= (C)(s; h)(G).
Deoarece s : A B este solutie pentru (A)G, atunci |= (B)s(G). Corolarul 4.1.1 implic
a |= (C)h(s(G)).
Deci |= (C)(s; h)(G) si astfel s; h este solutie pentru (A)G. 2
Din propozitia precedent
a rezulta c
a dac
a avem o solutie, atunci aceasta nu este unic
a. Acest fapt ne ndeamna
sa c
autam o solutie c
at mai general
a.
In general, solutiile sunt construite n mai multe etape, aparand n final ca o compunere de morfisme. Morfismele
care apar n procesul de calcul si care, sper
am, ca n final sa furnizeze o solutie sunt numite morfisme calculate.
In continuare vom prezenta regulile de deductie folosite n programarea logic
a. Aceste reguli ne permit sa trecem
de la o multime G de egalitati formale la o alt
a multime G de egalitati formale, obtinand si un morfism calculat.
Aplicarea acestor reguli va nceta n momentul n care ajungem la o multime vida de egalitati formale. In acest
punct, putem compune toate morfismele calculate g
asite, n ordinea aparitiei lor, si astfel vom obtine o solutie
pentru problema initiala. Aceasta afirmatie va fi probat
a mai t
arziu n ipoteza c
a toate regulile de deductie utilizate
sunt corecte.
Mention
am n continuare mai multe reguli de deductie utile n programarea logic
a.
Regula morfismului: Dac
a G Sen(T (X)) si : T (X) T (Y ), atunci
G m (G),
cu morfismul calculat .
Regula reflexiei extinse: Dac
a G Sen(T (X)) si : T (X) T (Y ) astfel nc
at s (l) = s (r), atunci
G {l=
s r} re (G),
cu morfismul calculat .
Regula reflexiei: Dac
a G Sen(T (X)) si : T (X) T (Y ) astfel nc
at = CGU {l, r}, atunci
G {l=
s r} r (G),
cu morfismul calculat .
Regula pararescrierii: Fie G Sen(T (X)), (Y )l=
s r if H si morfismul : T (Y ) T (X). Dac
a C este
un context extins cu variabila distins
a z de sort s, atunci
G {C[s (l)]} pr G (H) {C[s (r)]}.
Mention
am c
a pentru pararescriere, morfismul calculat este morfismul identitate.
Regula paramodulatiei extinse: Fie (Y )l=
s r if H . Consider
am X astfel nc
at XY = , G Sen(T (X))
si morfismul : T (X Y ) T (Z) astfel nc
at s (l) = s (a), unde a T (X)s . Dac
a C este un context extins cu
variabila distins
a z de sort s, atunci
G {C[a]} pe (G H {C[r]}),

cu morfismul calculat /X , restrictia lui la T (X).


Regula paramodulatiei: Fie (Y )l=
s r if H . Consider
am X astfel nc
at X Y = ,
G Sen(T (X)) si morfismul : T (X Y ) T (Z) astfel nc
at = CGU {l, a}, unde a T (X)s . Dac
a C este
un context extins cu variabila distins
a z de sort s, atunci
G {C[a]} p (G H {C[r]}),
cu morfismul calculat /X , restrictia lui la T (X).
Comentariu Dorinta exprimat
a mai sus de a obtine o solutie c
at mai generala face ca regulile de deductie utilizate de
semantica operational
a a program
arii logice sa fie mai restrictive. Mai precis reflexia este reflexia extinsa cu conditia
suplimentar
a ca sa fie cel mai general unificator pentru l si r, iar paramodulatia este paramodulatia extinsa n
care este cel mai general unificator pentru l si a. Conform uzantelor presupunem X Y = , fapt posibil datorita
cuantificarii universale a clauzei care ne permite sa alegem variabile noi n locul celor din Y ori de c
ate ori este
necesar.

4.3

Leg
aturi ntre regulile de deductie

In continuare vom prezenta leg


aturile ntre regulile de deductie pentru programarea logic
a. Aceste leg
aturi sunt
importante, ajutandu-ne, de exemplu, sa demonstram mai usor unele propriet
ati ale regulilor de deductie.
In primul rand, este evident c
a regula reflexiei si regula paramodulatiei sunt cazuri particulare ale regulilor reflexiei
extinse si, respectiv, paramodulatiei extinse (caz particular n care cerem ca morfismul implicat n regul
a sa fie un
cel mai general unificator, nu doar un -morfism).
Observam c
a

G {l=
s r} m (G) {s (l) = s (r)},
cu morfismul calculat , ceea ce arata c
a regula morfismului si eliminarea egalitatilor evidente permit eliminarea
regulii reflexiei extinse dintre regulile de lucru.
Propozitie 4.3.1 Pararescrierea este un caz particular de paramodulatie extins
a.
Demonstratie Consider
am pararescrierea G {C[hs (l)]} pr G h(H) {C[hs (r)]}, unde (Y )l=
s r if H si
h : T (Y ) T (X) este un -morfism (presupunem X Y = ).
Luam a = hs (l). S
a consider
am -morfismul : T (X Y ) T (X) definit prin:
1. (y) = h(y), pentru orice y Y ,
2. (x) = x, pentru orice x X.
Observam c
a (t) = t, pentru orice t T (X) si (u) = h(u), pentru orice u T (Y ).
Deoarece G este o multime de egalitati formale din Sen(T (X)), rezulta c
a s (u=
s v) = (s (u)=
s s (v)) = (u=
s v),
pentru orice u=
s v G. In concluzie, putem scrie (G) = G.
Similar, H este o multime de egalitati formale din Sen(T (Y )) si astfel avem s (u=
s v) = (s (u)=
s s (v)) =
(hs (u)=
s hs (v)), pentru orice u=
s v H. In concluzie, putem scrie (H) = h(H).
De asemenea, contextul extins C este o egalitate formala din Sen(T (X {z})) si astfel avem z (C) = C.
Observam c
a s (r) = hs (r) si s (a) = s (hs (l)) = hs (l) = s (l), deoarece l, r T (Y ).
Putem aplica regula paramodulatiei extinse pentru (Y )l=
s r if H si : T (X Y ) T (X) astfel obtinand:
G {C[hs (l)]} = G {C[a]} pe (G H {C[r]}) = (G) (H) (C[r]) =
= G h(H) z (C)[s (r)] = G h(H) C[hs (r)].
Morfismul calculat /X este identitatea lui T (X). 2
Propozitie 4.3.2 Dac
a pentru orice clauz
a (Y )l=
s r if H din , orice variabil
a din Y apare n l, atunci pararescrierea
este un caz particular de paramodulatie n care substitutia calculat
a este o identitate.

Demonstratie P
astr
am notatiile si demonstratia din propozitia precedent
a. Vom proba, n plus, c
a este cel mai
general unificator pentru l si a.
Fie u : T (X Y ) B un unificator pentru l si a. Deoarece us (l) = us (a) = us (hs (l)) si orice variabil
a din Y
apare n l, deducem c
a u(y) = u(h(y)), pentru orice y Y .
a u|X (x) = u(x), pentru orice x X.
Not
am cu u|X restrictia lui u la X si observam c
Observam c
a ; u|X = u: pentru orice x X, u|X ((x)) = u|X (x) = u(x), si pentru orice y Y , u|X ((y)) =
u|X (h(y)) = u(h(y)) = u(y).
Deci este cel mai general unificator pentru l si a deoarece u = ; u|X . 2
Lem
a 4.3.1 Dac
a (Y )t=
s t , atunci G p (x t)(G), unde x este o variabil
a care apare n G si nu apare n t.
Demonstratie Alegem o aparitie a lui x n G si scriem G = G C[x], unde C este un context extins. Aplic
and
regula paramodulatiei pentru (Y )t=
s t , a = x, = CGU {a, l} = CGU {x, t} = x t, obtinem:
G = G C[x] p (x t)(G C[t]) = (x t)(G).
Ultima egalitate este adevarata deoarece x nu apare n t. 2
Ipoteza x apare n G nu este esentiala deoarece, daca x nu apare n G, (x t)(G) = G si prin urmare (x t)(G)
se obtine din G n 0 pasi.
Lem
a 4.3.2 (Lema substitutiei) Dac
a sunt ndeplinite urm
atoarele conditii: G este o multime finit
a,
(x)x=x
pentru orice variabil
a x, (x1 x2 . . . xn )f (x1 , x2 , . . . , xn )=f
(x1 , x2 , . . . , xn ) pentru orice simbol de operatie f , atunci regula morfismului poate fi realizat
a prin regula paramodulatiei.
Demonstratie Primele doua afirmatii care urmeaza dovedesc c
a axiomele lemei substitutiei, mai sarace decat cele
ale lemei 4.3.1, sunt suficiente pentru a demonstra concluzia lemei 4.3.1:
1. Substitutia unei variabile x cu o variabil
a y poate fi realizat
a prin regula paramodulatiei n prezenta
axiomei (y)y =y.

In cazul n care x apare n G si x 6= y se aplica Lema 4.3.1. In rest, evident.


2. Ar
at
am c
a substitutia unei variabile cu un termen poate fi realizat
a prin paramodulatie n prezenta
axiomelor (x)x=x
si (x1 x2 . . . xn )f (x1 , x2 , . . . , xn )=f
(x1 , x2 , . . . , xn ).
Vom demonstra acest lucru prin inductie dupa structura termenului t.
Primul pas al inductiei este chiar (1).
Presupunem c
a t = f (t1 , t2 , . . . , tn ).
Dac
a x nu apare n G, atunci nu avem nimic de demonstrat. Presupunem c
a x apare n G si folosind
(x1 x2 . . . xn )f (x1 , x2 , . . . , xn )=f
(x1 , x2 , . . . , xn ) , unde variabilele x1 , . . . , xn sunt noi, si Lema 4.3.1 deducem
G p (x f (x1 , x2 , . . . , xn ))(G).
In continuare se aplic
a ipoteza de inductie pentru orice 1 i n, substituind fiecare xi cu ti .
Mai observam c
a
x f (x1 , x2 , . . . , xn ) ; x1 t1 ; x2 t2 ; . . . ; xn tn = x f (t1 , t2 , . . . , tn ),
deoarece variabilele x1 , x2 , . . . , xn sunt noi.
3. Ar
at
am c
a regula morfismului poate fi realizat
a prin regula paramodulatiei.
Fie h : T (X) T (Y ). Cum var(G) = {x1 , x2 , . . . , xn } X, a realiza regula morfismului revine la a nlocui
fiecare variabil
a xi cu h(xi ). Putem realiza acest lucru conform punctelor (1) si (2):
- nt
ai nlocuim fiecare variabil
a xi cu o variabil
a noua zi , pentru orice 1 i n:
G p (x1 z1 )(G) p . . . p (xn zn )(. . . (x1 z1 )(G) . . .) = G
- acum nlocuim pentru fiecare 1 i n, variabila zi cu h(xi ):

G p (z1 h(x1 ))(G) p . . . p (zn h(xn ))(. . . (z1 h(x1 ))(G) . . .) = h(G). 2

XX
Paramodulat
XXX
 ie
Lema 3.1
k
Q
Q var(l) = Y XXXX
XX
Q Prop.3.2
XXX
Q
XX
eliminarea
Q Pararescriere
- Reflexie
z Morfism
X
egalit
a
tiilor



extins
a
Z

Z + 
Prop.3.1
6
Z


Prop.3.3 




?


/



Reflexie
Paramodulat
ie 
9

9

extins
a
Figure 4.1: Leg
aturile dintre regulile de deductie
Observatie. In demonstratia anterioar
a, la pasul (3), este extrem de important sa schimb
am toate variabilele xi cu
variabile noi. Altfel am putea obtine rezultate nedorite, ca n exemplul de mai jos:
Dac
a h : T ({x, y}) T ({x, y, z}), h(x) = z, h(y) = x si G = {x=y},

atunci:
h(G) = (h(x)=h(y))

= (z =x),

(x h(x))((y h(y))(G)) = (x h(x))(x=x)


= (z =z).

Deci h(G) 6= (x h(x))((y h(y))(G)).


Propozitie 4.3.3 Regula paramodulatiei extinse se poate obtine din regula morfismului si regula pararescrierii.
Demonstratie Fie (Y )l=
s r if H , : T (X Y ) T (Z) astfel nc
at s (l) = s (a), unde a T (X)s . Fie C
un context extins si z o variabil
a noua. Aplic
and regula morfismului pentru morfismul , obtinem:
G {C[a]} m (G) {(C[a])}.
Mention
am urmatoarele egalitati:
(C[a]) = z (C)[(a)] = z (C)[(l)].
Acum putem aplica regula pararescrierii si obtinem:
(G) {z (C)[(l)]} pr (G) (H) {z (C)[(r)]} = (G H {C[r]}).
Deci G {C[a]} m (G) {z (C)[(l)]} pr (G H {C[r]}). 2
Putem sintetiza leg
aturile g
asite ntre regulile de deductie pentru programarea logic
a prin Figura 1.

4.4

Corectitudinea regulilor de deductie

Definitie 4.4.1 Fie R o regul


a de deductie. S
a presupunem c
a aplic
and regula R obtinem G R G cu morfismul
calculat . Spunem c
a regula R este o regul
a corect
a dac
a este ndeplinit
a urm
atoarea conditie: dac
a s este o
solutie pentru G , atunci ; s este solutie pentru G.
Dac
a se aplic
a numai reguli corecte ajungandu-se, n final, la multimea vida de ecuatii (sau la o multime format
a
doar din egalitati adevarate), atunci compunerea tuturor morfismelor calculate este o solutie a problemei initiale.
Aceasta afirmatie rezulta din faptul c
a morfismul identitate este solutie pentru orice multime de egalitati adevarate,
inclusiv multimea vida.
In continuare vom ar
ata c
a regulile de deductie considerate n sectiunile anterioare sunt corecte.
Deoarece |= (X)l=
s l, orice solutie pentru G este solutie si pentru G {l=
s l}. Prin urmare eliminarea egalit
atilor
adev
arate este o regul
a corecta.
Propozitie 4.4.1 Regula morfismului este corect
a.
Demonstratie Presupunem c
a G m (G), unde : T (X) T (Y ). Fie s : T (Y ) T (Z) o solutie pentru
(G), adica |= (Z)s((G)). Trebuie sa ar
atam c
a ; s este solutie pentru G, adica |= (Z)(; s)(G), ceea ce este
evident. 2

Propozitie 4.4.2 Regula reflexiei extinse este corect


a.
Demonstratie Stim c
a regula reflexiei extinse se poate obtine din regula morfismului. Cum regula morfismului este
corecta, rezulta c
a si regula reflexiei extinse este corecta. 2
Corolar 4.4.1 Regula reflexiei este corect
a.

Propozitie 4.4.3 Regula pararescrierii este corect


a.
Demonstratie Consider
am pararescrierea G C[s (l)] pr G (H) {C[s (r)]}, unde
(Y )l=
s r if H si : T (Y ) T (X) un -morfism.
Fie S : T (X) B o solutie pentru (X)G (H) {C[s (r)]}, adica
|= (B)S(G (H) {C[s (r)]}).
(1)
Avem de aratat c
a S : T (X) B este solutie pentru (X)(G C[s (l)]), adica
|= (B)S(G {C[s (l)]}).
Fie h : B M|= . Din (1) deducem (S; h)(G) (; S; h)(H) (S; h)(C[s (r)]) M . Prin urmare deducem:
(S; h)(G) M ,

(2)

(; S; h)(H) M ,

(3)

(S; h)(C[s (r)]) M .

(4)

Deoarece M |= (Y )l=
s r if H, folosind morfismul ; S; h : T (Y ) M si relatia (3), deducem c
a
(; S; h)s (l) = (; S; h)s (r).

(5)

Probam c
a
(z (l)); S; h = (z s (r)); S; h.

(6)

Observam c
a cei doi membri sunt -morfisme de la T (X {z}) la M.
Pentru orice x X avem (z s (l))(x) = x = (z s (r))(x). Pe de alt
a parte (z s (l))(z) = s (l) si
(z s (r))(z) = s (r). Folosind (5) deducem c
a
((z s (l)); S; h)s (z) = (; S; h)s (l) = (; S; h)s (r) = ((z s (r); S; h)s (z).
Prin urmare egalitatea (6) este probat
a.
(6)

Observam c
a h(S(C[s (l)])) = ((z s (l)); S; h)(C) = ((z s (r)); S; h)(C) = (S; h)(C[s (r)]).
Din (4) deducem c
a h(S(C[s (l)])) M . Folosind (2) deducem h(S(G {C[s (l)]})) M . 2
Propozitie 4.4.4 Regula paramodulatiei extinse este corect
a.
Demonstratie Din Propozitia 4.3.3 stim c
a orice paramodulatie extinsa se poate obtine din regula morfismului si
regula pararescrierii. Din Propozitiile 4.4.1 si 4.4.3 stim c
a regulile morfismului si pararescrierii sunt corecte, de unde
rezulta c
a si regula paramodulatiei extinse este corecta. 2
Corolar 4.4.2 Regula paramodulatiei este corect
a.

Chapter 6

COMPLETITUDINEA
PARAMODULATIEI
6.1

Prolog

Reamintim c
a nseamn
a o multime de egalitati adevarate.

Teorem
a 6.1.1 Dac
a a d, atunci {a=
s d} pr .

Demonstratie Presupunem a d. Atunci exista v astfel nc


at a v si d v. T
inand cont de definitia lui ,

putem scrie a Q v si d Q v. Deoarece Q este reuniunea sirului cresc


ator {Qn }nN , rezulta c
a exista un numar

natural n cu proprietatea a Qn v si d Qn v, deci a Qn d.

Aratam prin inductie dupa n c


a {a=
s d} pr . Cazul n = 0 este evident. Presupunem c
a pentru orice x, y

s y} pr . Presupunem c
a a Qn+1 d.
daca x Qn y, atunci {x=
a numarul pasilor este 0, atunci a = d, concluzia
Facem o noua inductie dupa num
arul pasilor Qn+1 folositi. Dac
fiind evident
a.
In cazul contrar, presupunem, de exemplu, c
a a Qn+1 w si w Qn+1 d cu un pas mai putin. Din ipoteza de

inductie putem scrie {w=


s d} pr .
at h(u) Qn h(v),
s r if H , morfismul h : T (Y ) T (X) astfel nc
Deoarece a Qn+1 w exista (Y )l=
a
pentru orice u=v
H, si contextul c n T (X {z}) astfel nc
at a = c[hs (l)] si w = c[hs (r)]. Observam c
.
s d} = h(H) {w =s d}.
s d} pr h(H) {c[hs (r)]=
{c[hs (l)]=

Prin urmare, deoarece {w=


s d} pr , deducem c
a {a=
s d} pr h(H) . Deoarece h(u) Qn h(v), pentru orice

u=v
H, din ipoteza de inductie deducem h(H) pr , deci {a=
s d} pr . 2

Corolar 6.1.1 Dac


a G este o multime finit
a astfel nc
at G , atunci G pr .

6.2

Completitudinea

Observam c
a identitatea lui T (Y ) este solutie pentru (Y ) deoarece |= (Y ). Prin urmare, daca G p
cu morfismul calculat , atunci este o solutie pentru (X)G. Prin urmare, putem opri rezolvarea n momentul
ajungerii la o multime de egalitati adevarate.
Presupunem c
a multimea de ecuatii conditionate satisface urmatoarele conditii: (x) x=x
, pentru orice
variabil
a x, (x1 x2 . . . xn )f (x1 , x2 , . . . , xn )=f
(x1 , x2 , . . . , xn ) , pentru orice simbol de operatie f , si, pentru
orice axioma (Y )l=
s r if H , orice variabil
a din Y apare n l.
Teorem
a 6.2.1 (Teorema de completitudine)
In conditiile de mai sus, dac
a este complet
a, atunci orice
solutie poate fi obtinut
a numai cu regula paramodulatiei.
Demonstratie Fie : T (X) T (Y ) o solutie pentru (X)G, adica |= (Y )(G). Prin urmare, (G) este o
submultime a congruentei semantice, adica (G) .
17

Deoarece este complet


a, adica = , deducem c
a (G) . Conform Prologului obtinem (G) pr .
Deoarece pentru orice axiom
a (Y )l=
s r if H , orice variabil
a din Y apare n l, deducem, din Propozitia
4.3.2, c
a orice pararescriere este un caz particular de paramodulatie n care substitutia calculat
a este o identitate.

In concluzie, putem scrie (G)


ia calculat
a identitatea.
p cu substitut

Din Lema substitutiei deducem c


a G p (G) cu substitutia calculat
a .

Deci G p cu substitutia calculat


a . 2

Chapter 7

COMPLETITUDINEA
NARROWINGULUI
7.1

Forme normale

Reamintim c
a este relatia de rescriere n A.
Definitia 7.1.1 Elementul n A se numeste o form
a normal
a pentru daca

(b A)(n b implic
a n = b).
Fie N multimea elementelor din A care sunt forme normale. Presupunem axioma Formei Normale unice

FN! (a A)(! f n(a) N )a f n(a).

Observatia 7.1.2 Dac


a a d, atunci f n(a) = f n(d).

Demonstratie: Din ipoteza si d f n(d) deducem a f n(d), deci din unicitatea formei normale a lui a
deducem f n(a) = f n(d).

Observatia 7.1.3 Axioma FN! implic


a este confluent
a.

Demonstratie: Presupunem a d si a c. Deducem f n(a) = f n(d) = f n(c), deci d f n(d) si c f n(d).


Observatia 7.1.4 Functia f n : A N este surjectiv
a si
a d f n(a) = f n(d).
Demonstratie: Deoarece pentru orice element n n forma normala n = f n(n) rezulta surjectivitatea functiei f n.

Presupunem f n(a) = f n(d). Deoarece a f n(a) si d f n(a) deducem a d.

Presupunem a d. Fie c A astfel nc


at a c si d c. Deducem f n(a) = f n(c) si f n(d) = f n(c), deci
f n(a) = f n(d). 2
Pentru cazul algebrelor libere mai mention
am c
a orice subexpresie a unei forme normal este tot o forma normala.

7.2

Introducere

Se lucreaza n algebre libere. Vom nota cu T (X) algebra din care ncepem sa lucram.
.
Fie (Y )l =s r if H o clauz
a. Multimea de variabile Y va fi disjuncta de X. Vom presupune c
a T (X) si
T (Y ) sunt subalgebre n T (X Y ) si not
am cu iX si iY morfismele incluziune.
In continuare vom lucra cu un caz particular de paramodulatie denumit narrowing sau ngustare.
19

.
Narrowing(
Ingustare): Fie (Y )l =s r if H si = CGU (a, l) : T (X Y ) B unde a T (X) nu este o
variabil
a. Dac
a G este o multime de egalitati formale si C este un context extins din T (X {z}), atunci

G {C[a]}

(G H {C[r]})

cu morfismul calculat iX ; .2
Mention
am c
a ipoteza care apare mai jos si anume c
a membrul stang al concluziei unei axiome nu este o variabil
a
este o ipoteza naturala deoarece n caz contrar daca conditiile axiomei sunt verificate, atunci orice termen ar putea
fi rescris.
.

Propozitie 7.2.1 Dac


a pentru orice clauz
a (Y )l =s r if H din l nu este variabil
a si orice variabil
a din Y apare
n l, atunci pararescrierea este un caz particular de ngustare n care substitutia calculat
a este o identitate.
Demonstratie: Este suficient sa reluam demonstratiile propozitiilor 4.3.1 si 4.3.2 si din egalitatea a = hs (l) din
faptul c
a l nu este o variabil
a rezulta c
a nici a nu este variabil
a.

7.3

Lema de ridicare

Definitia 7.3.1 O substitutie se numeste normala daca duce orice variabil


a ntr-un element n forma normala.
Propozitie 7.3.2 Presupunem c
a multimile de variabile X si Y sunt disjuncte si c
a T (X) si T (Y ) sunt subalgebre
n T (X Y ).
Fie l T (Y ) astfel nc
at orice variabil
a din Y apare n l si a T (X). Fie : X Y T Z o substitutie a
c
arei restrictie la X este normal
a si (a) = (l).
Dac
a = CGU (a, l) : X Y T V si este unica substitutie pentru care = ; , atunci este normal
a.
Demonstratie: Existenta lui CGU (a, l) rezulta din faptul c
a este unificator pentru a si l. In plus, fara a restrange
generalitatea, putea sa presupunem c
a V X Y si c
a (v) = v pentru orice v V.
Fie v V. Vom studia doua cazuri.
1. Dac
a v X, atunci (v) = ((v)) = (v) este normala prin ipoteza.
2. Presupunem v Y . Deoarece a T (X) si v 6 X rezulta c
a variabila v nu apare n a. Deoarece Y este
multimea variabilelor care apar n l, v apare n l. Dar (v) = v implic
a aparitia lui v n (l) = (a). Deoarece
variabila v nu apare n a rezulta c
a v a fost introdus n (a) prin substitutia , deci exista x X o variabil
a care
apare n a, astfel nc
at v apare n (x). Prin urmare (v) este subtermen n ((x)) = (x). Deoarece (x) este prin
ipoteza o forma normal
a, rezulta c
a orice subtermen al sau este o forma normala. In particular (v) este o forma
normala. 2
Dac
a : X Z si : Y Z sunt doua functii cu domeniile disjuncte notam cu < , >: X Y Z unica
functie care pe X actioneaz
a ca si pe Y ca .
Propozitie 7.3.3 Pentru orice (Y )l = r if H din presupunem c
a orice variabil
a din Y apare n l. Fie G o
multime de egalit
ati din T (X).
Dac
a : T (X) T (Z) este normal
a si
(G) pr Q,
atunci = cu normal
a, exist
a R cu (R) = Q si
G n R cu substitutia calculat
a .
.

Demonstratie: Fie (Y )l = r if H regula si : T (Y ) T (Z) substitutia utilizate n pararescrieie. Vom


presupune c
a variabilele din Y sunt noi, adica Y este disjunct de X.
Datorit
a normalit
atii lui pararescrierea nu se poate face ntr-un subtermen de forma (x) unde x este o variabil
a,
asa c
a presupunem c
a ea se face n (a) = (l) unde a este un subtermen n G care nu este variabil
a. Prin urmare:
G = G {C[a]} si Q = (G ) (H) {z (C)[(r)]}
unde z este o variabil
a noua, C este un context extins din T (X {z}) si (a) = (l).

Fie = CGU (a, l) : X Y V si : V Z unica substitutie cu proprietatea =< , > . Deoarece


restrictia a lui < , > la X este normal
a conform ipotezei, si < , > (a) =< , > (l), aplic
and propozitia 7.3.2
rezulta normalitatea lui .
Not
and cu : T (X) T (V ) restrictia lui la T (X) deducem c
a = .
Rezult
a c
a
G n (G H {C[r]}) cu morfismul calculat .
Not
and R = (G H {C[r]}) mai observam c
a:
(R) = (; )(G H {C[r]}) =< , > (G H {C[r]}) = (G ) (H) {z (C)[(r)]} = Q. 2

n?

?
V

n?

(G)

1Z

?
Z

pr ?
Q = (R)

1Z

?
Z

pr ?
S

Propozitie 7.3.4 Pentru orice (Y )l = r if H din presupunem c


a orice variabil
a din Y apare n l. Fie G o
multime finit
a de egalit
ati din T (X).
Dac
a : T (X) T (Z) este normal
a si

(G) pr S,
atunci

G n G cu morfismul calculat
pentru care exist
a o substitutie normal
a cu propriet
atile (G ) = S si = .
Demonstratie: Prin inductie dupa num
arul pasilor. Vom pune n evidenta prima pararescriere

(G) pr Q pr S.
Conform propozitiei precedente = cu normala, exista R cu (R) = Q si
G n R cu morfismul calculat .

Folosind ipoteza de inductie din (R) pr S deducem

R n G cu morfismul calculat
pentru care exista o substitutie normal
a cu propriet
atile (G ) = S si = . Din cele de mai sus rezulta c
a

G n G cu morfismul calculat
si () = = . 2

7.4

Epilog

Propozitie 7.4.1 Fie G T (X) T (X) finit


a si morfismul h : T (X) T (Y ) cu h(G) = . Atunci G r
cu substitutia calculat
a s pentru care exist
a morfismul f cu proprietatea s ; f = h.
Demonstratie: Reamintim definitia reflexiei:
Daca : A B este cel mai general unificator pentru l si r, atunci G {l =t r} r (G) cu mofismul
calculat .
Vom demonstra prin inductie dupa num
arul elementelor multimii G.
Fie G = G {l =s r}. Din ipoteza h(l) = h(r). Fie u : T (X) T (Z) cel mai general unificator pentru l si r.
Atunci exista un unic v : T (Z) T (Y ) astfel nc
at u; v = h.
Observam conform definitiei de mai sus c
a G r u(G ) cu morfismul calculat u.
ip

Cum v(u(G )) = h(G ) = , aplic


and ipoteza de inductie pentru u(G ) deducem c
a u(G) r cu substitutia
calculat
a w pentru care exista f astfel nc
at w; f = v.

Atunci G r cu substitutia calculat


a u; w. In plus h = u; v = (u; w); f . 2

7.5

Completitudine
.

Ipoteze. Pentru orice (Y )l = r if H din presupunem c


a orice variabil
a din Y apare n l. Rescrierea are
proprietatea formei normale unice (FN!).
Reamintim c
a proprietatea FN! implic
a confluenta rescrierii si completitudinea relatiei de nt
alnire prin rescriere.
Fie s : X Z o solutie pentru (X)G. Cu ipoteza FN! pentru solutia s se poate normaliza obtinand solutia

normala s : X Z definit
a prin s (x) = f n(s(x)) pentru orice x X. Observam c
a s(x) s (x) pentru orice

x X. Prin inductie structural


a se arata usor c
a s(r) s (r) pentru orice r T (X). Pentru orice u =t v G
observam c
a

s(u) s (u) si s(v) s (v).


.

Probam c
a s este solutie pentru (X)G adica |= (Z)s (G). Fie u =t v G. Deoarece s este solutie pentru (X)G
.
deducem |= (Z)s(u) =t s(v), deci s(u) s(v). Dar s(u) s (u) si s(v) s (v) deci s (u) s (v) adica

|= (Z)s (u) =t s (v) (am folosit si tranzitiv


a). Rezult
a c
a |= (Z)s (G), deci s este solutie.
Propozitie 7.5.1 Orice solutie normal
a se obtine prin particularizarea unei solutii obtinute cu narrowing si reflexie.
Demonstratie: Fie s : T (X) T (Z) o solutie normala. Utilizand completitudinea relatiei de nt
alnire prin

rescriere din |= (Z)s (G) rezulta c


a s (G) , prin urmare conform prologului s (G) pr . Din lema de
ridicare rezulta existenta substitutiei cu

G n G cu morfismul calculat
si a substitutiei normale cu propriet
atile (G ) = si s = .
Deoarece G este o multime de egalitati unificabile prin , deducem conform epilogului
G r cu morfismul calculat
si exista o substitutie cu proprietatea = . Deoarece s = deducem c
a orice solutie normala s poate fi
obtinuta prin particularizarea unei solutii g
asite cu narrowing si reflexie.

Chapter 8

` LA PROLOG
REZOLUT
IE A
Programarea logic
a relational
a, ilustrata n viata de toate zilele de limbajul Prolog, este bazata pe rezolutie.

8.1

Rezolutia

Axiomele, clauze Horn, au forma (Y )(v) if H unde


1) (v) este un atom, adica este un predicat si v este un vector de termeni n concordanta cu aritatea lui iar
2) H este o multime de atomi.
T
elul este o multime de atomi. Punand n evidenta atomul asupra c
aruia va actiona rezolutia pentru o axioma
ca mai sus telul devine {(s)} T. Ca mai sus presupunem c
a variabilele din Y sunt disjuncte de variabilele din tel.
Fie = CGU (v, s). Prin rezolutie, cu substitutia calculat
a ajungem la telul (H T ).

8.2

Rezolutie = Narrowing = Paramodulatie

Trecerea de la varianta relational


a la varianta ecuational
a se face prin
1) adaugarea la signatur
a a sortului b, transformarea predicatelor n simboluri de operatii avand rezultatul de sort b
.
2) nlocuirea fiec
arui atom (v) cu egalitatea (v) =b t unde t este o constant
a de sort b reprezent
and adevarul.
.

Varianta ecuational
a a unei multimi de atomi C va fi notata cu C e = {(v) =b t : (v) C}.
Propozitie 8.2.1
In varianta ecuational
a, rezolutia se poate realiza prin narrowing si eliminarea egalit
atilor reale.
Demonstratie:
Fie G o multime de atomi si (Y ) (v) if H o clauza Horn. Consideram G = G {(s)} si
= CGU (v, s). Prin rezolutie obtinem (G H).
.
.
In varianta ecuational
a Ge = Ge {(s) =b t} si (Y ) (v) =b t if He .
Alegem a = (s), l = (v) si observ
am c
a = CGU (s, v) = CGU ((s), (v)).
Cum a nu este variabil
a rezulta c
a putem aplica narrowing-ul:
.
Ge {(s) =b t} n

.
(Ge H e {t =b t}) =
.
((G H)e {t =b t}) =
.
[(G H)]e {t =b t}

.
In urma elimin
arii egalitatii adevarate t =b t obtinem varianta ecuational
a a rezultatului rezolutiei, (G H).
Corolar 8.2.1 Fie G o multime de atomi. Orice solutie pentru (X)G obtinut
a cu rezolutia poate fi obtinut
a prin
narrowing si eliminarea egalit
atilor adev
arate ca solutie pentru (X)Ge
Propozitie 8.2.2 Fie o multime de clauze Horn si G o multime de atomi. Aplicarea narrowing-ului folosind e
n varianta ecuational
a Ge se poate realiza prin rezolutie folosind n G.
.
Demonstratie: Fie G = G {P (s)} si (Y ) (v) =b t if He o clauza astfel nc
at sa se poat
a aplica narrowing-ul
.
lui P (s) =b t. Atunci l = (v) si exista = CGU (l, a), unde a trebuie ales.
23

Singura variant
a posibil
a pentru a este a = P (s). Observam c
a a nu este variabil
a.
Cum exista = CGU (a, l) rezulta c
a P = si = CGU (v, s). Prin urmare
.

Ge n (Ge {t =b t} H e ) = (G H)e {t =b t}.


Aplic
and rezolutia obtinem
G {P (s)} (G H) cu morfismul calculat
In concluzie din Ge n G1 cu e si morfismul calculat , deducem c
a G se duce prin rezolutie cu si morfismul
.
calculat n F cu G1 = F e {t =b t}. 2
Corolar 8.2.2 Fie G o multime de atomi. Orice solutie pentru (X)Ge obtinut
a prin narrowing si eliminarea
egalit
atilor adev
arate poate fi obtinut
a cu rezolutia ca solutie pentru (X)G.
Mai observam c
a n varianta ecuational
a a unui program Prolog reflexia nu poate fi aplicata deoarece unificarea
nu poate fi facut
a n egalitatea (v) = t.
Concluzia este c
a rezolutia este complet
a, fapt ce rezulta din teoremele de completitudine demonstrate anterior.

8.3

Exercitiul 1

Se p
astreaz
a notatiile din capitolele precedente. Se d
a urmatorul fragment de program EQLOG:
sort nat < nlist < list
op 0 : -> nat
op s : nat -> nat
op nil : -> list
op _ _ : list list -> list [assoc]
op cap : nlist -> nat
op cdr : nlist -> list
var E : nat
var L : list
eq cap(E L) = E
***> 1
eq cdr(E L) = L
***> 2
op # : list -> nat
eq #(nil) = 0
***> 3
eq #(E L) = s(#(L))
***> 4
Se cere sa se g
aseasca solutie pentru urmatoarea interogare:
L{#(L) = s(s(0)), cap(L) = 0}
Rezolvare. Avem 3 variante:
sa unificam membrul st
ang din ecuatia 1 cu cap(L);
sa unificam membrul st
ang din ecuatia 3 cu #(L);
sa unificam membrul st
ang din ecuatia 4 cu #(L).
Vom alege ultima alternativa. Deoarece ecuatia 4 are variabile care apar n scop, redenumim variabilele si obtinem:
#(E L1) = s(#(L1)).
Identificam cadrul de aplicare a paramodulatiei:
contextul c este z = s(s(0));
cel mai general unificator pentru #(L) si #(E L1) este L := EL1;
ecuatia care se utilizeaz
a nu este conditionata deci H este vid.
Noul scop este {cap(E L1) = 0, s(#(L1)) = s(s(0))}.
Subtermenul unde se aplic
a paramodulatia este #(L1), iar ecuatia folosita este 4. Din nou vom face o redenumire
a variabilelor, ecuatia 4 devine #(E1 L2) = s(#L2) .
Dupa noul pas de paramodulatie, scopul devine: {cap(E E1 L2) = 0, s(s(#(L2))) = s(s(0))}. Se observa c
a este
posibil sa facem din nou paramodulatie cu ecuatia 4 si putem intra astfel n ciclu infinit.
Vom unifica cap(E E1 L2) cu membrul st
ang al ecuatiei 1, n care redenumim variabilele; cel mai general unificator
calculat este E2 := E, L1 := E1 L2. Contextul este z = 0.
Scopul devine {E = 0, s(s(#(L2))) = s(s(0))}.
Unificam #(L2) cu membrul st
ang al ecuatiei 3; contextul este z = 0, cel mai general unificator, L2 := nil.
Noul scop este {E = 0, s(s(0)) = s(s(0))} .
Prin aplicarea reflexiei, scopul devine si se adauga la solutie E := 0.
Solutia L = 0 E1 nil se obtine astfel :
L =
=
=
=

E
E
E
0

L1
E1 L2
E1 nil
E1 nil

8.4

Exercitiul 2

Se d
a urmatorul fragment de program:
0 <= x
s x <= s y :- x <= y

***> 1
***> 2

Se cere solutia pentru:


1. w <= s 0 (toate solutiile);
2. s s 0 <= w ;
3. s s 0 <= w = true, pentru programul echivalent n EQLOG.
Rezolvare:
1. Prima variant
a este de a utiliza prima clauza, cel mai general unificator este w := 0, x := s 0. Scopul devine
0 <= s 0 care este adevarat din prima clauza; solutia este w = 0 .
A doua variant
a este de a utiliza a doua clauza, cel mai general unificator este w := s x, y := 0. Scopul devine
x <= 0. Cu prima clauz
a n care redenumim variabilele obtinem 0 <= 0, care este adevarat cu cel mai general
unificator x := 0, x := 0. Solutia este w = s 0.
2. Folosind clauza 2, unificatorul cel mai general este x := s 0, w := s y, iar scopul devine s 0 <= y. Folosim
clauza 2, cu variabilele redenumite deoarece apar n scop; unificatorul este x := 0, y := s y , iar scopul devine
0 <= y care este adevarat conform primei clauze, unificand x := y . Solutia este w = s s y .
3. Programul echivalent n EQLOG se obtine nlocuind (x1 , ..., xn ) cu (x1 , ..., xn ) = true.
Scopul este {s s 0 <= w = true}. Identificam cadrul de aplicare a narrowing-ului cu ecuatia a doua:
contextul extins este z = true;
a este s s 0 <= w;
l este s x <= s y;
cel mai general unificator pentru a si l este w := s y, x := s 0.
Scopul devine {true = true, s 0 <= y = true}. Folosim din nou a doua ecuatie, dar redenumim variabilele:
contextul extins este z = true;
a este s 0 <= y;
l este s x <= s y ;
cel mai general unificator pentru a si l este y := s y , x := 0.
Scopul devine {true = true, true = true, 0 <= y = true}. Folosim prima ecuatie n care redenumim variabilele:
contextul extins este z = true;
a este 0 <= y ;
l este 0 <= x;
cel mai general unificator pentru a si l este x := y .
Scopul devine {true = true, true = true, true = true} si prin reflexie devine . Solutia este w = s s y .

Logica Clauzelor Horn Cu Egalitate


Virgil Emil C
az
anescu
January 25, 2003

O signatura multisortata de ordinul ^nt^ai este un triplet (S; ; ) unde (S; ) este o
signatura multisortata si  = (u : u 2 S  ) este o familie de multimi S  -indexate.
Un --model M = (Ms ; M ; M ) este un triplet unde (Ms ; M ) este o -algebra si
fM g2 este o familie de multimi -indexate astfel ^nc^at M  Ms1  Ms2  : : :  Ms
pentru ecare  2 s1 s2 :::s .
Un --mor sm (sau un mor sm de modele) h : (Ms ; M ; M ) ! (Ns ; N ; N ) este
un mor sm de -algebre h = fhs gs2S : (Ms ; M ) ! (Ns ; N ) astfel ^nc^at
(m1 ; m2 ; : : : ; mk ) 2 M implica (hs1 (m1 ); hs2 (m2 ); : : : ; hs (mk )) 2 N pentru toti
 2 s1 s2 :::s si mi 2 Ms pentru 1  i  k.
Fie Mod; categoria tuturor --modelelor si mor smelor lor. Fie
n

U : Mod;

! Alg

functorul uituc.

1 Formule atomice
O formula atomica ^ntr-o -algebra A = (As ; A ) este a =s b unde a; b 2 As sau
 (a1 ; a2 ; : : : ; an) unde  2 s1 s2 :::s si ai 2 As pentru toti 1  i  n. O -propozitie din
aceasta logica este (8A)B unde A este o -algebra si B este o formula atomica ^n A.
De nim functorul FA : Alg ! Set prin:
a) FA(A) este multimea tuturor formulelor atomice din -algebra A, adica
n

FA(A) = fa =s bja; b 2 As ; s 2 S g [ f (a1 ; : : : ; an ) j  2 s1 :::s ; ai 2 As g


n

b) pentru ecare -mor sm h : A ! B


FA(h)( (a1 ; a2 ; : : : ; an )) =  (h(a1 ); h(a2 ); : : : ; h(an )) pentru 
FA(h)(a =s b) = hs (a) =s hs (b) pentru a; b 2 As .

s1 s2 :::s si ai


n

Vom demonstra ca FA este functor. Fie f 2 Alg (A; B) si g 2 Alg (B; C ):
Avem FA(f ) 2 Set(FA(A); FA(B)).
Vom demonstra proprietatea de functorialitate:
FA(f ; g )(a =s b) = (f ; g )s(a) =s (f ; g )s(b) = gs (fs (a)) =s gs(fs (b)) =

= FA(g )(fs(a) =s fs (b)) = FA(g )(FA(f )(a =s b)) = (FA(f ); FA(g ))(a =s b):
1

As ,
i

Pentru FA(f ; g )( (a1 ; : : : ; an )) avem


FA(f ; g )( (a1; : : : ; an )) =  ((f ; g )s1 (a1 ); : : : ; (f ; g )s (an )) =
n

=  (gs1 (fs1 (a1 )); : : : ; gs (fs (an ))) = FA(g )( (fs1 (a1 ); : : : ; fs (an ))) =
= FA(g )(FA(f )( (a1 ; : : : ; an )) = (FA(f ); FA(g ))( (a1; : : : ; an ));
pentru orice  2 s1 ;:::;s ; ai 2 As ; pentru 1  i  k:
Deci FA(f ; g ) = (FA(f ); FA(g )):
Vom arata ca FA(1A ) = 1FA(A) :
n

FA(1A )(a =s b) = (1A (a) =s 1A (b)) = (a =s b) = 1FA(A) (a =s b):


s

FA(1A )( (a1 ; : : : ; an)) =  (1A 1 (a1 ); : : : ; 1A (an )) =  (a1 ; : : : ; an ) =


sn

1FA(A) ( (a1 ; : : : ; an )):

^In concluzie, FA este functor.

2 Semantica
Fie A o -algebra, M un --model si h : A ! U (M) un -mor sm. De nim
Kr(h; M) = fa =s b j s 2 S; a; b 2 As ; hs (a) = hs (b)g[
[f(a1 ; : : : ; an) j  2 s1:::s ; ai 2 As ; (hs1 (a1 ); : : : ; hs (an)) 2 M g
Spunem ca --modelul M satisface -propozitia (8A)B si scriem M j= (8A)B
daca si numai daca B 2 Kr(h; M) pentru ecare -mor sm h : A ! U (M).
O --clauza este (8P )B if C unde P este o -algebra libera, B este o formula
atomica din P si C este o multime nita de formule atomice din P .
Spunem ca --modelul M satisface clauza (8P )B if C si scriem
M j= (8P )B if C
daca si numai daca pentru orice -mor sm h : P ! U (M) , C  Kr(h; M) implica
B 2 Kr(h; M):
Fie o multime de clauze. Spunem ca modelul M satisface sau ca M este un
-model si scriem M j= daca si numai daca M satisface ecare clauza din .
n

Subcategoria plina a tuturor -modelelor este notata cu Mod .


Scriem ca

j= (8A)B daca si numai daca M j= (8A)B pentru ecare

-model M.

Observam ca

j= (8A)B () B 2 Kr(g; M) pentru toate

-modelele M si toate g :

A ! U (M):

3 Deductie locala
Fixam -algebra A. Vom arata cum transformarea regulilor clasice de deductie din logica
clauzelor Horn cu egalitate ^n structura noastra ne ofera o multime de reguli de deductie
corecte si complete pentru multimea formulelor atomice din A care sunt satisfacute de
ecare -model. Multimea de propozitii este ^n cele ce urmeaza multimea formulelor
atomice din -algebra A = (As ; A ).
Regulile de deductie HL pentru logica clauzelor Horn sunt:

a =s a
a =s b implica b =s a
a =s b si b =s c implica a =s c
ai =s bi pentru 1  i  n implica
A (a1 ; a2 ; : : : ; an ) =s A (b1 ; b2 ; : : : ; bn ) pentru ecare  2 s1 s2 :::s ;s:
C ai =s bi pentru 1  i  n si  (a1 ; a2 ; : : : ; an ) implica  (b1 ; b2 ; : : : ; bn )
pentru ecare  2 s1 s2 :::s .
MP FA(h)(B 0 ) pentru orice B 0 din C implica FA(h)(B )
pentru orice (8P )B if C 2 si orice -mor sm h : P ! A.

R
S
T
C

Pentru ecare formula atomica B din A scriem


folosind multimea de reguli de mai sus.

` (8A)B daca B poate demonstrata

4 Corectitudine
Lema 4.1 Consideram mor smele h : A
F A(A) avem

! B si g : B ! U (M): Pentru orice B din

FA(h)(B ) 2 Kr(g; M) daca si numai daca B 2 Kr(h; g; M):

Demonstratie: B poate de forma a =s b sau  (a1 ; : : : ; an ):


^In primul caz FA(h)(a =s b) 2 Kr(g; M) daca si numai daca hs (a) = hs (b) 2
Kr(g; M) daca si numai daca (h; g )s (a) = (h; g )s(b) daca si numai daca a =s b 2
Kr(h; g; M):
Daca B este de forma  (a1 ; : : : ; an ); vom avea FA(h)( (a1 ; : : : ; an )) 2 Kr(g; M) daca
si numai daca  (hs1 (a1 ); : : : ; hs (an )) 2 Kr(g; M) adica ((h; g )s1 (a1 ); : : : ; (h; g )s1 (an )) 2
M daca si numai daca  (a1 ; : : : ; an ) 2 Kr((h; g ); M).
Deci, am demonstrat ca pentru orice B 2 FA(A) avem FA(h)(B ) 2 Kr(g; M) daca
si numai daca B 2 Kr((h; g ); M): 2
Prima parte a propozitiei urmatoare arata ca regulile HL sunt corecte pentru multimea
n

formulelor atomice din A care sunt satisfacute ^n ecare -model.

Propozitie 4.2 Fie M un model si g : A ! U (M) un -mor sm.


Kr(g; M) este ^nchisa la R, S, T, C si C. Mai mult chiar,
a) Daca M j= atunci Kr(g; M) este ^nchisa la MP si
b) Daca g este surjectiva pe componente si Kr(g; M) este ^nchisa la MP atunci M j=
.

Demonstratie: Mai ^nt^ai vom demonstra ca Kr(g; M) este ^nchisa la R, S, T, C si
C.
R : a =s a 2 Kr(g; M) daca si numai daca gs(a) = gs (a):
S : Presupunem ca a =s b 2 Kr(g; M) si demonstram ca b =s a 2 Kr(g; M): Din
ipoteza deducem gs (a) = gs(b); prin urmare gs (b) = gs (a) deci b =s a 2 Kr(g; M):
T : Presupunem ca a =s b 2 Kr(g; M) si b =s c 2 Kr(g; M) si demonstram ca
a =s c 2 Kr(g; M): Din ipoteza deducem gs (a) = gs(b) si gs(b) = gs (c); prin urmare
gs(a) = gs(c) deci a =s c 2 Kr(g; M):
C : Pentru  2 s1 s2 :::s ;s presupunem ca ai =s bi 2 Kr(g; M) pentru 1  i  n
deci gs (ai ) = gs (bi ): Rezulta ca
gs(A (a1 ; : : : ; an )) = A (gs1 (a1 ); : : : ; gs (an )) = A (gs1 (b1 ); : : : gs (bn )) = gs (A (b1 ; : : : ; bn ));
deci A (a1 ; : : : ; an ) = A (b1 ; : : : ; bn ) 2 Kr(g; M):
n

C : Pentru  2 s1 s2 :::s presupunem ca ai =s bi 2 Kr(g; M) pentru 1  i  n si


 (a1 ; : : : ; an ) 2 Kr(g; M): Prin urmare gs (ai ) = gs (bi ) pentru 1  i  n si
(gs1 (a1 ); : : : ; gs (an )) 2 M :
Rezulta ca (gs1 (b1 ); : : : ; gs (bn )) 2 M adica  (b1 ; : : : ; bn ) 2 Kr(g; M):
Deci, ^n concluzie, daca  2 s1 s2 :::s ; ai =s bi 2 Kr(g; M) pentru 1  i  n ,
si  (a1 ; : : : ; an ) 2 Kr(g; M) deducem  (b1 ; : : : ; bn ) 2 Kr(g; M):
Deci multimea Kr(g; M) este ^nchisa la R, S, T, C si C.
n

a) MP : Pentru (8P )B if C 2 si h : P ! A un -mor sm presupunem pentru


orice B 0 din C ca FA(h)(B 0 ) 2 Kr(g; M): Din lema precedenta rezulta pentru orice B 0
din C ca B 0 2 Kr(h; g; M): Deoarece M j= rezulta ca B 2 Kr(h; g; M); deci conform
lemei FA(h)(B ) 2 Kr(g; M):
Deci Kr(g; M) este ^nchisa la MP daca M j= :
b) Presupunem ca g este surjectiv pe componente si Kr(g; M) este ^nchisa la MP.
Va trebui sa aratam ca M j= :
Fie (8P )B 0 if C 2 si f : P ! U (M) cu proprietatea C  Kr(f; M ): Va trebui sa
demonstram ca B 2 Kr(f; M ):
Deoarece P este algebra proiectiva si g este surjectiv pe componente ) 9h : P ! A
astfel ^nc^at h; g = f:

9h

@@
@@
f @

-A

@@
@@R ?
U (M)

Din C  Kr(h; g; M ) deducem din lema ca (FA(h))(B 0 ) 2 Kr(g; M) pentru orice
B 2 C . Deoarece Kr(g; M) este ^nchis la MP rezulta ca (FA(h))(B ) 2 Kr(g; M), prin
urmare conform lemei B 2 Kr(h; g; M), adica B 2 Kr(f; M): 2
0

Corolar 4.3 Daca

` e atunci j= e pentru orice e 2 FA(A):

Demonstratie: Presupunem ` (8A)B; adica B e demonstrabila folosind cele sase


reguli HL. Pentru orice -model M si orice mor sm h : A ! U (M) multimea Kr(h; M)
este ^nchisa la cele sase reguli HL. Prin urmare

\fKr(h; M)jM j=

;h:

A ! U (M)g

este ^nchisa la cele sase reguli HL. Deoarece multimea formulelor demonstrabile ^n HL
este cea mai mica multime ^nchisa la cele sase reguli HL rezulta ca
B2

deci

\fKr(h; M)jM j=

;h:

A ! U (M)g

j= (8A)B:

5 Completitudine
Deoarece multimea teoremelor din A este ^nchisa la R, S, T si C putem de ni o relatie
de congruenta = ^n A pentru ecare s 2 S si a; b 2 As prin
a = b ()

` a =s b:
Fie A== factorizarea lui A prin = si q : A ! A== mor smul de factorizare.
Modelul A = (A== ; fP gP 2 ) este de nit pentru ecare P 2 s1 s2 :::s prin
P = f(q (a1 ); : : : ; q (an )) : ` P (a1 ; : : : ; an )g:
A rmam ca multimea Kr(q; A ) este egala cu multimea teoremelor.
Avem a =s b 2 Kr(q; A ) , qs (a) = qs (b) , a = b , ` a =s b:
La fel P (a1 ; : : : ; an ) 2 Kr(q; A ) , (qs1 (a1 ); : : : ; qs (an )) 2 P ,
, 9 ` P (b1; : : : ; bn) astfel ^nc^at qs (ai) = qs (bi ) , 9 ` P (b1; : : : ; bn) si ` ai =s bi
pentru orice i , ` P (a1 ; : : : ; an ): Ultima echivalenta este consecinta faptului ca multimea
n

teoremelor este ^nchisa la C.


Deci multimea Kr(q; A ) este egala cu multimea teoremelor.
Observatia 5.1

A j=

Demonstratie: Acest fapt rezulta din observatia ca este su cient ca multimea Kr(q; A )
sa e ^nchisa la MP conform punctului b) din Propozitia precedenta. Dar multimea
Kr(q; A ) coincide cu multimea teoremelor deci este ^nchisa la MP.
Teorema 5.2 Logica clauzelor Horn cu egalitate este corecta si completa: pentru ecare
formula atomica B din A

` (8A)B () j= (8A)B:
5

Corolarul precedent arata ca orice teorema este o tautologie. Vom


demonstra ca orice tautologie este o teorema.
Presupunem ca j= (8A)B: Deoarece mor smul q ia valori ^ntr-o -algebra deducem
B 2 Kr(q; A ):
1) daca B este a =s b deducem qs (a) = qs (b) deci ` a =s b:
2) daca B este P (a1 ; : : : ; an ) deducem (qs1 (a1 ); : : : ; qs (an )) 2 P deci exista o teorema
` P (b1; : : : ; bn) si qs (ai ) = qs (bi); adica ` bi =s ai : Deoarece multimea teoremelor este
^nchisa la C deducem ca ` P (a1 ; : : : ; an ):
Demonstratie:

Teorema 5.3 Pentru orice -model


si este unic un --mor sm h# : A

B si pentru orice -mor sm h : A ! U (B) exista


! B astfel ^nc^at q; h# = h.

Demonstratie: Aratam ca a = c implica h(a) =s h(c). Deoarece B este -model


deducem ca Kr(q; A)  Kr(h; B). Din a = c deducem a =s c 2 Kr(q; A), prin urmare
a =s c 2 Kr(h; B) deci h(a) =s h(c).

Din proprietatea de universalitate a algebrei c^at rezulta existenta unui unic -mor sm
U (A ) ! U (B) cu proprietatea q ; h# = h. Este usor de observat ca h# este
--mor sm. 2
h# :

O adjunct
ie ^
n teoria modelelor

Virgil Emil Caz


anescu
January 21, 2003

Fie (S; ; ) o signatura multisortata de ordinul ^nt^ai si

o multime de clauze Horn.

M exista un -model M si un mor sm de modele


astfel ^nc^at pentru orice -model M si pentru orice mor sm de modele
exista un unic mor sm de modele h# : M ! M astfel ^nc^at q ; h# = h.

Teorema 0.1 Pentru orice model

q:M
h:M

!M
!M

Demonstratie:

^In M = (Ms ; M ; M ) de nim -congruenta  prin


mm

() (8h : M ! M j= )h(m) = h(m ):


Fie (Ns; N ) c^atul algebrei (Ms ; M ) prin  si
q : (Ms ; M ) ! (Ns; N )
0

mor smul de factorizare.


Pentru orice  2 s1 s2 :::s de nim
n

N = f(q (m1 ); q (m2 ); : : : ; q (mn)) : mi 2 Ms si


(8h : M ! M j= )(h(m1 ); h(m2 ); : : : ; h(mn )) 2 M g.
i

Remarcam ca proprietatea folosita la de nerea lui N este independenta de reprezentanti,


adica (8h : M ! M j= )(h(m1 ); h(m2 ); : : : ; h(mn )) 2 M si mi  mi pentru toti
indicii i implica (8h : M ! M j= )(h(m1 ); h(m2 ); : : : ; h(mn )) 2 M .
Fie M = (Ns ; N ; N ). Observam ca q : M ! M este mor sm de modele.
0

Vom demonstra ca M j= .


Fie (8X )C if H 2 si f : T (X )
1.
2.

! (Ns; N ) un mor sm de algebre cu proprietatile:


fs (l) = fs (r) pentru orice l =s r 2 H
(f (t1 ); f (t2 ); : : : ; f (tn)) 2 N pentru orice  (t1 ; t2 ; : : : ; tn ) 2 H:

Deoarece T (X ) este algebra proiectiva exista un mor sm de algebre


g : T (X )

! (Ms ; M )

cu proprietatea g ; q = f: Deducem ca:


1

1. gs(l)  gs (r) pentru orice l =s r 2 H


2. (q (g (t1)); q (g (t2 )); : : : ; q (g (tn))) 2 N pentru orice  (t1 ; t2 ; : : : ; tn ) 2 H;
prin urmare (8h : M

! M j=
0

1. (g ; h)s(l) = (g ; h)s(r) pentru orice l =s r 2 H


2. ((g ; h)(t1); (g ; h)(t2 ); : : : ; (g ; h)(tn)) 2 M pentru orice  (t1 ; t2 ; : : : ; tn ) 2 H ,
0

adica (8h : M

! M j=
0

(M ; (g ; h)=X ) j= H:
Tin^and cont ca (8X )C if H 2 pentru orice h : M
0

! M j=
0

deducem ca

(M ; (g ; h)=X ) j= C:
0

Daca C este t =s t pentru orice h : M ! M j= deducem ca hs (gs(t)) = hs (gs(t )).


Rezulta ca gs(t)  gs (t ) deci fs (t) = fs (t ):
Daca C =  (t1 ; t2 ; : : : ; tn ) pentru orice h : M ! M j= deducem ca
0

(h(g (t1 )); h(g (t2 )); : : : ; h(g (tn))) 2 M :


0

Rezulta ca (q (g (t1)); q (g (t2)); : : : ; q (g (tn))) 2 N deci (f (t1 ); f (t2 ); : : : ; f (tn)) 2 N .


Deci M j= .
Fie M un -model si h : M ! M un mor sm de modele. Deoarece echivalenta
nucleara a lui h include  rezulta existenta unui unic mor sm de algebre
h# : M ! M astfel ^nc^at q ; h# = h. Este usor de aratat ca h# este mor sm de
modele.
0

1 ALGEBRE ASCUNSE

1 Fundament matematic
O signatura ascunsa are multimea sorturilor S partitionata ^n doua multimi
disjuncte
V multimea sorturilor vizibile si
H multimea sorturilor ascunse.
In plus se da  . Elementele lui se numesc simboluri de operatii
comportamentale.
^In continuare C va o -algebra si z o variabila. Contextele sunt elemente
din C [z ] ^n care z apare o singura data.
Conceptele de context ^n algebra C si de ad^ancime a unui context pot
de nite astfel:
1) z este context de ad^ancime 0
2) Daca 2 s1 s2 :::s ;s, daca unul dintre elementele a1 ; a2 ; : : : ; an este un
context si restul sunt din C , atunci C [z ] (a1 ; a2 ; : : : ; an ) este un context de
ad^ancime cu o unitate mai mare dec^at contextul cu ajutorul caruia a fost
format.
Un context de sort vizibil se numeste experiment.
Vom spune ca mor smele g si h de nite pe C [z ] sunt C -echivalente daca
(8x 2 C )g (x) = h(x).
Von nota cu U : Alg ! Alg functorul uituc.
n

De nitia 1.1 Intr-o -algebra A spunem ca elementele a si b de acelas


sort sunt comportamental echivalente si scriem a  b daca si numai
daca pentru orice -algebra C , pentru orice pereche f; g : C [z ] ! U (A) de
mor sme C -echivalente, cu proprietatile f (z ) = a si f (z ) = b si pentru orice
experiment c din C [z ] avem f (c) = g (c):
De nitia uzuala difera de de nitia de mai sus prin faptul ca algebra C
este libera. Demonstratia urmatoare arata ca de fapt conceptele coincid.
Fie C o -algebra, c un experiment din C [z ] si f; g : C [z ] ! U (A) o
perechede mor sme C -echivalente, cu proprietatile f (z ) = a si f (z ) = b.
Fie e : T (C [ fz g) ! C [z ] epimor smul care duce orice element din
C [ fz g in el ^nsusi. Exista un experiment c 2 T (C [ fz g) cu proprietatea
e(c ) = c.
0

Deoarece e; f si e; g au aceeasi resctrictie la C , deoarece (e; f )(z ) = a si


(e; g )(z ) = b rezulta ca (e; f )(c ) = (e; g )(c ), deci f (c) = g (c).
0

Se numeste congruenta ascunsa ^ntr-o -algebra o -congruenta care pe


sorturile vizibile coincide cu egalitatea.

Propozitie 1.2 Echivalenta comportamentala este congruenta ascunsa.


Demonstratie: Dintre proprietatile de echivalenta ale lui  probam doar
tranzitivitatea. Fie a  b si b  d. Fie C o -algebra, c 2C[z]v un experiment
si doua mor sme C -echivalente f; g : C [z ] ! U (A) cu f (z ) = a si g (z ) = d.
Fie h : C [z ] ! U (A) mor smul C -echivalent cu f si g pentru care h(z ) = b.
Din a  b deducem fv (c) = hv (c) si din b  d deducem hv (c) = gv (c). Prin
urmare fv (c) = gv (c), deci a  d.
Fie a  b pentru a; b 2 Av cu v 2 V . Fie z o variabila de sort v . Deoarece
z este un experiment, aleg^and mor smele C -echivalente f; g : C [z ] ! U (A)
astfel ^nc^at f (z ) = a si g (z ) = b deducem f (z ) = g (z ), deci a = b.
Pentru a dovedi ca  este congruenta ascunsa mai trebuie sa aratam
ca este compatibila cu operatiile comportamentale. Av^and ^n vedere ca 
este tranzitiva este su cient sa demonstram compatibilitatea cu operatiile
comportamentale doar pentru c^ate un argument al acestora. Fara a micsora
generalitatea vom pozitiona acest argument pe ultima pozitie.
Pentru a  b si  2 s1 s2 :::s s ;s aratam ca
n

A (a1 ; : : : ; an ; a)  A (a1 ; : : : ; an ; b):

Fie C o -algebra, c 2C[z]v un experiment cu variabila z de sort s si doua


mor sme C -echivalente f; g : C[z] ! U (A) cu fs (z ) = A (a1 ; : : : ; an ; a) si
gs(z ) = A (a1 ; : : : ; an ; b).
Fie x1 ; x2 ; : : : ; xn si z variabile de sorturi respectiv s1 ; s2 ; : : : ; sn si s . Fie
0

C [z] ! C [x1 ; : : : ; xn; z ]


un mor sm cu proprietatile (8x 2 C )h(x) = x si hs (z ) =  (x1 ; : : : ; xn ; z ).
Observam ca hv (c) 2 C [x1 ; : : : ; xn ][z ]v este un experiment.
Fie u; w : C [x1 ; : : : ; xn ][z ] ! U (A) mor smele de nite prin
u(x) = w(x) = f (x) pentru orice x 2 C ,
us (xi ) = ws (xi ) = ai pentru orice i 2 [n]
h:

us (z ) = a si ws (z ) = b.
0

Observam ca h; u = f si h; w = g . Deoarece mor smele u si w sunt


C [x1 ; : : : ; xn]-echivalente din a  b deducem uv (hv (c)) = wv (hv (c)), prin
urmare fv (c) = gv (c), deci A (a1 ; : : : ; an ; a)  A (a1 ; : : : ; an ; b). 2

Lema 1.3 Fie  o congruenta ascunsa, c 2 C [z ] si doua mor sme C -echivalente
f; g : C [z ] ! U (A). Daca f (z )  g (z ), atunci f (c)  g (c).
Demonstratie: Prin inductie structurala dupa c.
Daca c = z concluzia este evident adevarata.
Daca c este din C avem chiar egalitate.
^In caz contrar c = C [z ] (a1 ; : : : ; an ) unde 2 s1 :::s ;s , ai 2 C [z ]s . Prin
ipoteza de inductie f (ai )  g (ai ) pentru orice i 2 [n]. Deoarece este
comportamentala rezulta ca
n

A (f (a1 ); : : : ; f (an ))  A (g (a1 ); : : : ; g (an))

prin urmare
deci f (c)  g (c).

f (C [z ] (a1 ; : : : ; an ))  g (C [z ] (a1 ; : : : ; an ))

Teorema 1.4 Echivalenta comportamentala este cea mai mare congruenta

ascunsa.

Demonstratie: Fie  o congruenta ascunsa si a  b.


Probam ca a  b. Fie C o -algebra, c 2 C [z ]v un experiment si
f; g : C [z ] ! U (A) doua mor sme C -echivalente cu f (z ) = a si g (z ) = b.
Deoarece f (z )  g (z ) din lema deducem fv (c)  gv (c), prin urmare fv (c) =
gv (c) deoarece v este sort vizibil. Deci a  b. 2

2 COINDUCT
 IE
Este o metoda pentru a demonstra ca doua elemente sunt comportamental echivalente: este su cient sa gasim o congruenta ascunsa care contine
perechea formata din cele doua elemente. Corectitudinea acestei metode se
bazeaza pe teorema anterioara.

1 Exemplul cel mai simplu cunoscut


Un singur sort vizibil, sortul boolean, cu operatiile speci ce pe care nu le mai
mentionam.
Un singur sort ascuns: bariera.
Operatiile comportamentale sunt:
sus : bariera ! bariera
jos : bariera ! bariera
schimb : bariera ! bariera
sus? : bariera ! boolean.
Fie S o variabila de sort bariera. Ecuatiile prezentarii sunt:
sus?(sus S) = true
sus?(jos S) = false
sus?(schimb S) = not(sus? S).
Un model al acestei prezentari se obtine lu^and ca suport multimea numerelor naturale cu urmatoarele operatii, unde n este un numar natural
arbitrar:
sus(n) = 2  n
jos(n) = 2  n + 1
schimb(n) = n +1
sus?(n) = daca (n este par) atunci true altfel false.
In acest model observam ca schimb(schimb(n)) = n + 2 deci ecuatia
(8n)schimb(schimb(n)) = n
1

nu este adevarata ^n orice model. Vom dovedi totusi ca ecuatia de mai sus
este comportamental adevarata ^n orice model, adica
(8s)schimb(schimb(s))  s:
Fie A o algebra care pe sortul boolean este chiar algebra celor doua valori
clasice ale adevarului si care este model al prezentarii de mai sus.
Probam ca echivalenta nucleara a functiei sus?A : Abariera ! Aboolean ,
notata K er(sus?A), este o congruenta ascunsa.
Daca sus?A (s) = sus?A (s ), atunci sus?A(schimbA (s)) = not(sus?A (s)) =
not(sus?A (s )) = sus?A (schimb(s )).
Egalitatile sus?A(susA (s)) = sus?A(sus(s )) si sus?A(j osA (s)) = sus?A(j os(s ))
completeaza demonstratia.
Din teorema rezulta ca K er(sus?A )  . Deoarece
0

(8s 2 Abariera )sus?A(schimb(schimb(s))) = not(not(sus?A (s))) = sus?A (s)


deducem (8s)schimb(schimb(s))  s:

Evaluare