Documente Academic
Documente Profesional
Documente Cultură
2015-2016
Programare Logica
1 / 33
Definitie
Multimea S-sortata a termenilor cu variabile din X ,
T (X ),
este cea mai mica multime de siruri finite peste alfabetul
S
S
L = sS Xs w ,s w ,s {(, )} {, }
care verifica:
1
X T (X ),
Daca : s n , atunci T (X )s ,
3 / 33
Definitie
Multimea S-sortata a termenilor T (X ) este o (S, )-algebra, numita
algebra termenilor cu variabile din X si notata tot T (X ), cu operatiile
definite astfel:
pt. or. : s din , operatia corespunzatoare este
T := T (X )s
pt. or. : s1 . . . sn s din , operatia corespunzatoare este
T : T (X )s1 ...sn T (X )s
T (t1 , . . . , tn ) := (t1 , . . . , tn )
or. t1 T (X )s1 , . . . , tn T (X )sn .
T algebra termenilor fara variabile (X = )
4 / 33
Definitie
I este (S, )-algebra initiala daca pentru orice (S, )-algebra B exista un
unic morfism f : I B.
Corolar
T este (S, )-algebra initiala.
5 / 33
Cuprins
1 Algebre libere
2 Congruente
6 / 33
Algebre libere
7 / 33
Algebra libera
Fie (S, ) o signatura multisortata si X o multime de variabile.
Definitie
O (S, )-algebra A = (AS , A ) este liber generata de X daca
8 / 33
Algebra libera
Fie (S, ) o signatura multisortata si X o multime de variabile.
Definitie
O (S, )-algebra A = (AS , A ) este liber generata de X daca
X AS , i.e. exista functia S-sortata incluziune a lui X n AS
iA : X , AS ,
8 / 33
Algebra libera
Fie (S, ) o signatura multisortata si X o multime de variabile.
Definitie
O (S, )-algebra A = (AS , A ) este liber generata de X daca
X AS , i.e. exista functia S-sortata incluziune a lui X n AS
iA : X , AS ,
pentru orice (S, )-algebra B = (BS , B ) si orice functie S-sortata
f : X BS , exista un unic (S, )-morfism f : A B astfel ncat
iA ; f = f .
8 / 33
Proprietati
Teorema
Daca A si B sunt liber generate de X , atunci A ' B.
9 / 33
Proprietati
Teorema
Daca A si B sunt liber generate de X , atunci A ' B.
Demonstratie
Fie A = (AS , A ) si B = (BS , B ) doua (S, )-algebre liber
generate de X .
Notam cu iA : X , AS si iB : X , BS functiile S-sortate incluziune
ale lui X n AS si, respectiv, BS .
Demonstratia are patru pasi:
9 / 33
Demonstratie (cont.)
1
10 / 33
Teorema
Fie B = (BS , B ) o (S, )-algebra. Orice functie S-sortata
e : X BS
se extinde unic la un (S, )-morfism
e : T (X ) B.
e da interpretarea, evaluarea variabilelor n multimi S-sortate.
e da interpretarea, evaluarea termenilor n algebre.
11 / 33
Demonstratie.
Fie B o (S, )-algebra si e : X BS o functie S-sortata.
Demonstram ca exista un unic morfism e : T (X ) B astfel ncat
es (x) = es (x), or. x Xs .
Existenta. Definim e : T (X ) B prin inductie pe termeni:
(P(t) =
e (t) este definit).
pasul initial:
dac
a x Xs , atunci es (x) := es (x),
dac
a : s , atunci es () := B .
Demonstratie. (cont.)
Unicitatea. Fie g : T (X ) B un morfism astfel ncat gs (x) = es (x),
or. x Xs . Demonstram ca g = e prin inductie pe termeni:
(P(t) = gs (t) = es (t)).
pasul initial:
dac
a x Xs , atunci gs (x) = es (x) = es (x),
dac
a : s , atunci gs () = B = es ().
13 / 33
Consecinta
Corolar
T (X ) este (S, )-algebra liber generata de X .
14 / 33
Consecinta
Corolar
T (X ) este (S, )-algebra liber generata de X .
14 / 33
Exemple
Exemplu
NATEXP = (S = {nat}, )
= {0 : nat, s : nat nat, + : nat nat nat, ? : nat nat nat}
X : Xnat = {x, y }
15 / 33
Exemple
Exemplu
NATEXP = (S = {nat}, )
= {0 : nat, s : nat nat, + : nat nat nat, ? : nat nat nat}
X : Xnat = {x, y }
TNATEXP (X ): TNATEXP (X )nat = {0, x, y , s(0), s(x), s(y ), s(s(0)), . . . ,
+(0, 0), +(0, x), +(x, y ), ?(0, +(s(0), 0)), . . .}
15 / 33
Exemple
Exemplu
NATEXP = (S = {nat}, )
= {0 : nat, s : nat nat, + : nat nat nat, ? : nat nat nat}
X : Xnat = {x, y }
TNATEXP (X ): TNATEXP (X )nat = {0, x, y , s(0), s(x), s(y ), s(s(0)), . . . ,
+(0, 0), +(0, x), +(x, y ), ?(0, +(s(0), 0)), . . .}
15 / 33
Exemple
Exemplu
NATEXP = (S = {nat}, )
= {0 : nat, s : nat nat, + : nat nat nat, ? : nat nat nat}
X : Xnat = {x, y }
TNATEXP (X ): TNATEXP (X )nat = {0, x, y , s(0), s(x), s(y ), s(s(0)), . . . ,
+(0, 0), +(0, x), +(x, y ), ?(0, +(s(0), 0)), . . .}
15 / 33
Exemple
Exemplu
NATEXP = (S = {nat}, )
= {0 : nat, s : nat nat, + : nat nat nat, ? : nat nat nat}
X : Xnat = {x, y }
TNATEXP (X ): TNATEXP (X )nat = {0, x, y , s(0), s(x), s(y ), s(s(0)), . . . ,
+(0, 0), +(0, x), +(x, y ), ?(0, +(s(0), 0)), . . .}
15 / 33
Exemple
Exemplu
NATEXP = (S = {nat}, )
= {0 : nat, s : nat nat, + : nat nat nat, ? : nat nat nat}
X : Xnat = {x, y }
TNATEXP (X ): TNATEXP (X )nat = {0, x, y , s(0), s(x), s(y ), s(s(0)), . . . ,
+(0, 0), +(0, x), +(x, y ), ?(0, +(s(0), 0)), . . .}
15 / 33
Exemple
Exemplu
NATEXP = (S = {nat}, )
= {0 : nat, s : nat nat, + : nat nat nat, ? : nat nat nat}
X : Xnat = {x, y }
TNATEXP (X ): TNATEXP (X )nat = {0, x, y , s(0), s(x), s(y ), s(s(0)), . . . ,
+(0, 0), +(0, x), +(x, y ), ?(0, +(s(0), 0)), . . .}
Exemple
Exemplu
STIVA = (S = {elem, stiva}, )
= {0 : elem, empty : stiva, push : elem stiva stiva,
pop : stiva stiva, top : stiva elem}
STIVA-algebra A:
Multimea suport: Aelem := N, Astiva := N
Operatii: A0 := 0, Aempty := , Apush (n, n1 . . . nk ) := nn1 . . . nk ,
Apop () := , Apop (n) := , Apop (n1 n2 . . . nk ) := n2 . . . nk , pt k 2
Atop () := 0, Atop (n1 . . . nk ) := n1 , pt. k 1
STIVA-algebra B:
Multimea suport: Belem := {0}, Bstiva := N
Operatii: B0 := 0, Bempty := 0, Bpush (0, n) := n + 1,
Bpop (0) := 0, Bpop (n) := n 1, pt. n 1, Btop (n) := 0
16 / 33
Exemple
Exemplu (Cont.)
X : Xelem = {x, y }, Xstiva = {s}
Fie t := push(x, push(y , s)) TSTIVA (X )stiva .
O interpretare a lui t n A:
e : X A, e(x) := 5, e(y ) := 3, e(s) := 6 7
e(t) = Apush (e(x), Apush (e(y ), e(s))) = 5 3 6 7
O interpretare a lui t n B:
e : X B, e(x) := 0, e(y ) := 0, e(s) := 10
e(t) = Bpush (e(x), Bpush (e(y ), e(s))) = (10 + 1) + 1 = 12
17 / 33
Proprietati
Propozitie
Fie h : A B un (S, )-morfism surjectiv si X o multime de variabile.
Pentru orice (S, )-morfism f : T (X ) B, exista un (S, )-morfism
g : T (X ) A astfel ncat g ; h = f .
h
A
B
g
f
T (X )
18 / 33
Demonstratie.
Fie f : T (X ) B un morfism.
Cum h este surjectiv, pt. or. x Xs , exista a As astfel ncat
hs (a) = fs (x).
Pentru orice s S si x Xs , alegem a As astfel ncat
hs (a) = fs (x) si definim es (x) := a.
Deci e : X A.
Consideram e : T (X ) A extensia unica a lui e : X A.
Cum T (X ) este algebra libera si (
e ; h)s (x) = fs (x), or. x Xs ,
obtinem ca e; h = f .
Luam g := e.
19 / 33
Proprietati
Notatie. Daca f : A B este un (S, )-morfism si X AS , atunci
f X este restrictia lui f la X , i.e. (f X )s (x) = fs (x), or. x Xs .
20 / 33
Proprietati
Notatie. Daca f : A B este un (S, )-morfism si X AS , atunci
f X este restrictia lui f la X , i.e. (f X )s (x) = fs (x), or. x Xs .
Propozitie
Fie B o (S, )-algebra si X o multime de variabile. Daca f : T (X ) B
si g : T (X ) B sunt morfisme, atunci
g = f g X = f X .
Demonstratie.
Exercitiu! Se demonstreaza ca g = f prin inductie pe termeni:
(P(t) = gs (t) = fs (t)).
20 / 33
Proprietati
Propozitie
Daca X ' Y , atunci T (X ) ' T (Y ).
Demonstratie.
Exercitiu! A se vedea demonstratia pentru:
doua algebre liber generate de X sunt izomorfe.
21 / 33
Concluzii
22 / 33
Congruente
23 / 33
Congruente
Definitie
O relatie S-sortata = {s }sS AS AS este o congruenta daca:
s As As este echivalenta, or. s S:
reflexiv
a
simetric
a
tranzitiv
a
24 / 33
Exemplu
Exemplu
NAT = (S, )
S = {nat}
= {0 : nat, succ : nat nat}
NAT -algebra A
Multimea suport: Anat := N
Operatii: A0 := 0, Asucc (x) := x + 1
n1 nat n2 2|(n1 n2 ) este congruenta (congruenta modulo 2):
nat este echivalenta
daca n1 nat n2 , atunci Asucc (n1 ) nat Asucc (n2 )
25 / 33
Algebra cat
Fie A o (S, )-algebra si o congruenta pe A.
Definim:
[a]s := {a0 As | a s a0 } (clasa de echivalenta a lui a)
26 / 33
Algebra cat
Fie A o (S, )-algebra si o congruenta pe A.
Definim:
[a]s := {a0 As | a s a0 } (clasa de echivalenta a lui a)
As /s := {[a]s | a As }, or. s S
26 / 33
Algebra cat
Fie A o (S, )-algebra si o congruenta pe A.
Definim:
[a]s := {a0 As | a s a0 } (clasa de echivalenta a lui a)
As /s := {[a]s | a As }, or. s S
A/ := {As /s } devine (S, )-algebra, notata A/ , cu operatiile:
26 / 33
Algebra cat
Fie A o (S, )-algebra si o congruenta pe A.
Definim:
[a]s := {a0 As | a s a0 } (clasa de echivalenta a lui a)
As /s := {[a]s | a As }, or. s S
A/ := {As /s } devine (S, )-algebra, notata A/ , cu operatiile:
(A/ ) := [A ]s , or. : s,
26 / 33
Algebra cat
Fie A o (S, )-algebra si o congruenta pe A.
Definim:
[a]s := {a0 As | a s a0 } (clasa de echivalenta a lui a)
As /s := {[a]s | a As }, or. s S
A/ := {As /s } devine (S, )-algebra, notata A/ , cu operatiile:
(A/ ) := [A ]s , or. : s,
(A/ ) ([a1 ]s1 , . . . , [an ]sn ) := [A (a1 , . . . , an )]s , or.
: s1 . . . sn s si a1 As1 , . . . , an Asn .
26 / 33
Algebra cat
Fie A o (S, )-algebra si o congruenta pe A.
Definim:
[a]s := {a0 As | a s a0 } (clasa de echivalenta a lui a)
As /s := {[a]s | a As }, or. s S
A/ := {As /s } devine (S, )-algebra, notata A/ , cu operatiile:
(A/ ) := [A ]s , or. : s,
(A/ ) ([a1 ]s1 , . . . , [an ]sn ) := [A (a1 , . . . , an )]s , or.
: s1 . . . sn s si a1 As1 , . . . , an Asn .
26 / 33
Algebra cat
Fie A o (S, )-algebra si o congruenta pe A.
Definim:
[a]s := {a0 As | a s a0 } (clasa de echivalenta a lui a)
As /s := {[a]s | a As }, or. s S
A/ := {As /s } devine (S, )-algebra, notata A/ , cu operatiile:
(A/ ) := [A ]s , or. : s,
(A/ ) ([a1 ]s1 , . . . , [an ]sn ) := [A (a1 , . . . , an )]s , or.
: s1 . . . sn s si a1 As1 , . . . , an Asn .
26 / 33
Exemple
Exemplu
STIVA: S = {elem, stiva}, = {0 : elem, empty : stiva,
push : elem stiva stiva, pop : stiva stiva, top : stiva elem}
STIVA-algebra A:
Aelem := N, Astiva := N
Operatii: A0 := 0, Aempty := , Apush (n, n1 . . . nk ) := nn1 . . . nk ,
Apop () := , Apop (n) := , Apop (n1 n2 . . . nk ) := n2 . . . nk , pt k 2
Atop () := 0, Atop (n1 . . . nk ) := n1 , pt. k 1
Propozitie
1
Demonstratie.
Exercitiu!
28 / 33
Proprietatea de universalitate
[]
A/
h
B
29 / 33
Demonstratie
Fie B o (S, )-algebra si h : A B un morfism a.. Ker (h).
Existenta: Definim hs ([a]s ) := hs (a), pentru orice a As .
h este bine definit: Tb. s
a ar
at
am [a1 ]s = [a2 ]s hs (a1 ) = hs (a2 ).
Presupunem c
a [a1 ]s = [a2 ]s . Atunci (a1 , a2 ) s Ker (h), deci
hs (a1 ) = hs (a2 ).
h este morfism:
dac
a : s , atunci hs ((A/ ) ) = hs ([A ]s ) = hs (A ) = B .
dac
a : s1 . . . sn s si a1 As1 , . . . , an Asn , atunci
hs ((A/ ) ([a1 ]s1 , . . . , [an ]sn ))
hs (A (a1 , . . . , an ))
30 / 33
Consecinte
Propozitie (?)
Fie K o clasa de (S, )-algebre. Daca
T
K := {Ker (h) | h : T B K morfism},
atunci urmatoarele proprietati sunt adevarate:
1
K este congruenta pe T ,
31 / 33
Demonstratie
1
32 / 33
Pe saptamana viitoare!
33 / 33