Sunteți pe pagina 1din 41

Curs 5

2015-2016

Programare Logica
1 / 32

Cuprins

1 Ecuatii. Relatia de satisfacere

2 -algebre

2 / 32

Amintiri

Fie (S, ) o signatura multisortata si X multime de variabile.


T este (S, )-algebra initiala, i.e.
pentru orice (S, )-algebra B exista un unic morfism f : T B.
T (X ) este (S, )-algebra liber generata de X , i.e.
pentru orice (S, )-algebra B = (BS , B ), orice functie S-sortata
e : X BS se extinde unic la un (S, )-morfism e : T (X ) B.

3 / 32

Motivatie

Un modul n Maude (care contine doar declatii de sorturi si operatii)


construieste efectiv algebra T .
Ce se ntampla cu ecuatiile?
Ce se ntampla cu atributele operatiilor?

4 / 32

Ecuatii. Relatia de satisfacere

5 / 32

Ecuatie
Fie (S, ) o signatura multisortata.

Definitie
O (S, )-ecuatie este formata din
o multime de variabile X ,
doi termeni de acelasi sort t, t 0 T (X )s .
Notam o ecuatie prin

(X )t =s t 0

= egalitate formala

= egalitate efectiva

6 / 32

Satisfacerea unei ecuatii


Fie (S, ) o signatura multisortata.

Definitie

O (S, )-algebra A = (AS , A ) satisface o ecuatie (X )t =s t 0 daca


pentru orice functie S-sortata e : X AS ,
es (t) = es (t 0 ).

Notam faptul ca A satisface ecuatia (X )t =s t 0 prin

A |= (X )t =s t 0

Daca A |= (X )t =s t 0 , mai spunem si ca A este un model al

ecuatiei (X )t =s t 0 .

7 / 32

Satisfacerea unei ecuatii

Am vazut ca orice functie S-sortata e : X AS se extinde unic la un


morfism e : T (X ) A.

Definitie (echivalenta)

O (S, )-algebra A = (AS , A ) satisface o ecuatie (X )t =s t 0 daca


pentru orice morfism f : T (X ) A,
fs (t) = fs (t 0 ).

8 / 32

Necesitatea cuantificarii
In cazul monosortat, cuantificarea naintea unei ecuatii nu este
necesara.
In cazul multisortat, daca nu cuantificam naintea unei ecuatii putem
obtine paradoxuri.

9 / 32

Necesitatea cuantificarii
In cazul monosortat, cuantificarea naintea unei ecuatii nu este
necesara.
In cazul multisortat, daca nu cuantificam naintea unei ecuatii putem
obtine paradoxuri.

Exemplu
Signatura: S = {s, b}, = {T : b, F : b, g : s b}
T : T,s = , T,b = {T , F }

T 6|= ()T =b F
TT = T 6= F = TF

T |= (X )T =b F , unde Xs := {x} si Xb :=
nu exist
a niciun morfism f : T (X ) T

9 / 32

Ecuatie conditionata
Fie (S, ) o signatura multisortata.

Definitie
O (S, )-ecuatie conditionata este formata din
o multime de variabile X ,
doi termeni de acelasi sort t, t 0 T (X )s ,

10 / 32

Ecuatie conditionata
Fie (S, ) o signatura multisortata.

Definitie
O (S, )-ecuatie conditionata este formata din
o multime de variabile X ,
doi termeni de acelasi sort t, t 0 T (X )s ,

o multime H de ecuatii u =s 0 v , cu u, v T (X )s 0 .

10 / 32

Ecuatie conditionata
Fie (S, ) o signatura multisortata.

Definitie
O (S, )-ecuatie conditionata este formata din
o multime de variabile X ,
doi termeni de acelasi sort t, t 0 T (X )s ,

o multime H de ecuatii u =s 0 v , cu u, v T (X )s 0 .
Notam o ecuatie conditionata prin

(X )t =s t 0 if H

In practica H este finita, i.e. H = {u1 =


s1 v1 , . . . , un =sn vn }.

Ecuatiile din H sunt cuantificate cu X .


Ecuatiile din H se numesc conditii.

O ecuatie (X )t =s t 0 este o ecuatie conditionata n care H este .


10 / 32

Satisfacerea unei ecuatii conditionate


Fie (S, ) o signatura multisortata.

Definitie
O (S, )-algebra A = (AS , A ) satisface o ecuatie conditionata

(X )t =s t 0 if H daca pentru orice functie S-sortata e : X AS ,

es 0 (u) = es 0 (v ), or. u =s 0 v H es (t) = es (t 0 ).

Notam faptul ca A satisface ecuatia conditionata (X )t =s t 0 if H prin

A |= (X )t =s t 0 if H

A |= (X )t =s t 0 A |= (X )t =s t 0 if

11 / 32

Satisfacerea unei ecuatii conditionate

Definitie (echivalenta)
O (S, )-algebra A = (AS , A ) satisface o ecuatie conditionata

(X )t =s t 0 if H daca pentru orice morfism f : T (X ) A,

fs 0 (u) = fs 0 (v ), or. u =s 0 v H fs (t) = fs (t 0 ).

12 / 32

Exemple

Exemplu
STIVA = (S = {elem, stiva}, )
= {0 : elem, empty : stiva, push : elem stiva stiva,
pop : stiva stiva, top : stiva elem}
X : Xelem = {E }, Xstiva = {S, Q}
Ecuatia conditionata:

(X )top(S) =elem E if {S =stiva push(E , Q)}

13 / 32

Exemple
Exemplu (cont.)
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

14 / 32

Exemple
Exemplu (cont.)
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

A |= (X )top(S) =elem E if {S =stiva push(E , Q)}


fie e : X A o evaluare a.. estiva (S) = estiva (push(E , Q))
obtinem estiva (S) = Apush (
eelem (E ), estiva (Q))
notam n := eelem (E ), w := estiva (S), w 0 := estiva
rezulta w = nw 0 si
eelem (top(S)) = Atop (
estiva (S)) = Atop (w ) = Atop (nw 0 ) = n =
eelem (E )

14 / 32

Exemple
Exemplu (cont.)
STIVA-algebra C:
Multimea suport: Celem := N, Cstiva := N
Operatii: C0 := 0, Cempty := , Cpush (x, x1 . . . xk ) := x1 . . . xk x,
Cpop () := , Cpop (x) := , Cpop (x1 . . . xk1 xk ) := x2 . . . xk , pt
k 2
Ctop () := 0, Ctop (x1 . . . xk ) := x1 , pt. k 1

15 / 32

Exemple
Exemplu (cont.)
STIVA-algebra C:
Multimea suport: Celem := N, Cstiva := N
Operatii: C0 := 0, Cempty := , Cpush (x, x1 . . . xk ) := x1 . . . xk x,
Cpop () := , Cpop (x) := , Cpop (x1 . . . xk1 xk ) := x2 . . . xk , pt
k 2
Ctop () := 0, Ctop (x1 . . . xk ) := x1 , pt. k 1

C 6|= (X )top(S) =elem E if {S =stiva push(E , Q)}


fie e : X C o evaluare definita prin eelem (E ) = 2, estiva (Q) = 3 4,
estiva (S) = 3 4 2
atunci estiva (S) = estiva (push(E , Q))
dar eelem (E ) = 2 6= 3 = eelem (top(S))

15 / 32

-algebre

16 / 32

Definitii
Fie
(S, ) o signatura multisortata
o multime de ecuatii conditionate

17 / 32

Definitii
Fie
(S, ) o signatura multisortata
o multime de ecuatii conditionate

Definitie
O (S, )-algebra A este o -algebra (A este model pentru ) daca
A |= , or. .

17 / 32

Definitii
Fie
(S, ) o signatura multisortata
o multime de ecuatii conditionate

Definitie
O (S, )-algebra A este o -algebra (A este model pentru ) daca
A |= , or. .
In acest caz, notam A |=
Notam cu Alg (S, , ) clasa tuturor -algebrelor.

17 / 32

Proprietati

Teorema

Fie A si B doua (S, )-algebre a.. A ' B si := (X )t =s t 0 if H.


A |= B |= .

18 / 32

Proprietati
Demonstratie
Fie : B A un izomorfism.

Fie e : X BS a.. es 0 (u) = es 0 (v ), or. u =s 0 v H.


Definim f : X AS prin f := e; .
Curs 4 - Propozitie. Fie B o (S, )-algebr
a si X o multime de variabile. Dac
a
f : T (X ) B si g : T (X ) B sunt morfisme, atunci g = f g X = f X .

Deoarece f X = (
e ; ) X , obtinem f = e; .

Atunci fs 0 (u) = s 0 (
es 0 (u)) = s 0 (
es 0 (v )) = fs 0 (v ), or. u =s 0 v H.
Cum A |= , rezulta ca fs (t) = fs (t 0 ), i.e. s (
es (t)) = s (
es (t 0 )).
Cum este injectiv, obtinem es (t) = es (t 0 ), deci B |= .
Se arata similar.

19 / 32

Consecinta semantica

Fie (S, ) o signatura multisortata si o multime de ecuatii conditionate.

Definitie
O ecuatie conditionata este consecinta semantica a lui daca
A |= implica A |= ,
pentru orice (S, )-algebra A.
In acest caz, notam |= .
Daca multime de ecuatii conditionate, atunci
|= |= , or.

20 / 32

Exemplu
Exemplu (Teoria grupurilor)
(S, , ) unde
S = {elem}
= {e : elem, : elem elem, + : elem elem elem}

= {({x, y , z})(x + y ) + z = x + (y + z),

({x})e + x = x,

({x})x + e = x,

({x})(x) + x = e,

({x})x + (x) = e}

1 := ({x, y , z})x = y if {x + z = y + z}

2 := ({x, y })x + y = y + x
|= 1
6|= 2

21 / 32

Amintiri

Fie (S, ) o signatura multisortata si A = (AS , A ) o (S, )-algebra.

Definitie
O relatie S-sortata = {s }sS AS AS este o congruenta daca:
s As As este echivalenta, or. s S:
este compatibila cu operatiile:
pt. or. : s1 . . . sn s si or. ai , bi Asi , i = 1, . . . , n
ai si bi , or. i = 1, . . . , n A (a1 , . . . , an ) s A (b1 , . . . , bn )

22 / 32

Congruente nchise la substitutii

Fie
(S, ) o signatura multisortata,
o multime de ecuatii conditionate,
A = (AS , A ) o (S, )-algebra si o congruenta pe A.
Spunem ca este nchisa la substitutie daca

CS(, A)

or. (X )t =s t 0 if H , or. e : X AS

es 0 (u) s 0 es 0 (v ), or. u =s 0 v H es (t) s es (t 0 ).

23 / 32

Congruente nchise la substitutii


Propozitie
Daca este o congruenta pe A nchisa la substitutie, atunci
A/ |= .

24 / 32

Congruente nchise la substitutii


Propozitie
Daca este o congruenta pe A nchisa la substitutie, atunci
A/ |= .
Algebra cat A/ a lui A prin congruenta :
As /s := {[a]s | a As }, or. s S, unde
[a]s := {a0 As | a s a0 } (clasa de echivalenta a lui a)
A/ devine (S, )-algebra 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 .

[] : A A/ , a 7 [a]s , or. a As , este morfism surjectiv.

24 / 32

Congruente nchise la substitutii


Demonstratie

Fie (X )t =s t 0 if H . Aratam ca A/ |= (X )t =s t 0 if H.
Fie e : X A/ a.. es 0 (u) = es 0 (v ), or.

u =s 0 v H.

Curs 4 - Propozitie. Fie h : A B un (S, )-morfism


surjectiv si X o multime de variabile. Pentru orice
(S, )-morfism f : T (X ) B, exist
a un
(S, )-morfism g : T (X ) A astfel nc
at g ; h = f .

[]
g

A/
e
T (X )

Cum [] : A A/ morfism surjectiv si e : T (X ) A/ , exista


g : T (X ) A a.. g ; [] = e.
Atunci [gs 0 (u)]s 0 = [gs 0 (v )]s 0 , i.e. gs 0 (u) s 0 gs 0 (v ), or.

u =s 0 v H.
Cum congruenta pe A nchisa la substitutie, obtinem
gs (t) s gs (t 0 ). Deci es (t) = es (t 0 ).


25 / 32

Echivalenta semantica
Fie
(S, ) o signatura multisortata,
o multime de ecuatii conditionate,
A = (AS , A ) o (S, )-algebra
Echivalenta semantica pe A determinata de este
T
,A := {Ker (h) | h : A B, B |= }.

26 / 32

Echivalenta semantica
Fie
(S, ) o signatura multisortata,
o multime de ecuatii conditionate,
A = (AS , A ) o (S, )-algebra
Echivalenta semantica pe A determinata de este
T
,A := {Ker (h) | h : A B, B |= }.
Daca A = T (X ), notam ,T (X ) cu .
Echivalenta semantica (pe T (X )):

t s t 0 |= (X )t =s t 0 .

26 / 32

Congruenta semantica
Propozitie (?)
,A este o congruenta pe A nchisa la substitutie.

Demonstratie
Pentru simplitatea demonstratiei notam ,A cu .
este congruenta:
Ker (h) este congruenta pentru orice morfism h : A B
Intersectia unei familii arbitrare de congruente este congruenta.
Aratam ca este nchisa la substitutie:

Fie (X )t =s t 0 if H si e : X AS a.. es 0 (u) s 0 es 0 (v ), or.

u =s 0 v H.
Trebuie sa aratam ca es (t) s es (t 0 ).

27 / 32

Demonstratie (cont.)

Avem (
es 0 (u), es 0 (v )) Ker (h), or. u =s 0 v H si or.
h : A B |= .

Deci hs 0 (
es 0 (u)) = hs 0 (
es 0 (v )), or. u =s 0 v H si or.
h : A B |= .
Fie B |= si h : A B.

Avem e; h : T (X ) B si hs 0 (
es 0 (u)) = hs 0 (
es 0 (v )), or. u =s 0 v H
Deci hs (
es (t)) = hs (
es (t 0 )).
Rezulta ca (
es (t), es (t 0 )) Ker (h), or. h : A B |=
Deci (
es (t), es (t 0 )) , adica es (t) s es (t 0 ).

28 / 32

Congruenta semantica
Propozitie (?)
,A este cea mai mica congruenta pe A nchisa la substitutie.

Demonstratie
,A este congruenta pe A nchisa la substitutie.
Fie o alta congruenta pe A nchisa la substitutie.
Fie p : A A/ surjectia canonica, i.e. p(a) = [a] , or. a A.
A/ |= .
Dar = Ker (p).
Deci ,A .


29 / 32

-algebra initiala
Definim pe T congruenta semantica determinata de :
T
,T := {Ker (f ) | f : T B, B |= }

Teorema (?)
T /,T este -algebra initiala.

Demonstratie
,T este nchisa la substitutii (slide 31)
T /,T |= (slide 28)
,T =K , unde K = Alg (S, , )
Pt. or. B |= , ex. un unic morfism f : T /,T B

(Curs 4 - slide 31).


30 / 32

Consecinte

Fie (S, ) o signatura multisortata si o multime de ecuatii conditionate.

Teorema (? )
Fie A = (AS , A ) o (S, )-algebra si h : T A unicul morfism.
Sunt echivalente:
1
2

A este -algebra initiala.


A verifica urmatoarele proprietati:
No Junk: h este surjectiv
No Confusion:

hs (t1 ) = hs (t2 ) |= ()t1 =s t2 , or. t1 , t2 (T )s .

31 / 32

Pe saptamana viitoare!

32 / 32

S-ar putea să vă placă și

  • Lab 04
    Lab 04
    Document28 pagini
    Lab 04
    Dani Rvd
    Încă nu există evaluări
  • C07
    C07
    Document67 pagini
    C07
    Dani Rvd
    Încă nu există evaluări
  • C02 PL
    C02 PL
    Document62 pagini
    C02 PL
    Dani Rvd
    Încă nu există evaluări
  • Curs 4: 2015-2016 Programare Logic A
    Curs 4: 2015-2016 Programare Logic A
    Document50 pagini
    Curs 4: 2015-2016 Programare Logic A
    Dani Rvd
    Încă nu există evaluări
  • C09
    C09
    Document66 pagini
    C09
    Dani Rvd
    Încă nu există evaluări
  • Shark and Fishes Problem
    Shark and Fishes Problem
    Document13 pagini
    Shark and Fishes Problem
    Dani Rvd
    Încă nu există evaluări
  • C03 PL
    C03 PL
    Document65 pagini
    C03 PL
    Dani Rvd
    Încă nu există evaluări
  • Laborator2 SQL An2
    Laborator2 SQL An2
    Document8 pagini
    Laborator2 SQL An2
    Dani Rvd
    Încă nu există evaluări
  • Cursul 3
    Cursul 3
    Document29 pagini
    Cursul 3
    Dani Rvd
    Încă nu există evaluări
  • Cursul 4
    Cursul 4
    Document26 pagini
    Cursul 4
    Dani Rvd
    Încă nu există evaluări
  • Cursul 5
    Cursul 5
    Document31 pagini
    Cursul 5
    Dani Rvd
    Încă nu există evaluări
  • Cursul 3
    Cursul 3
    Document29 pagini
    Cursul 3
    Dani Rvd
    Încă nu există evaluări
  • Cursul 5
    Cursul 5
    Document31 pagini
    Cursul 5
    Dani Rvd
    Încă nu există evaluări
  • Cursul 8
    Cursul 8
    Document22 pagini
    Cursul 8
    Dani Rvd
    Încă nu există evaluări
  • Baza PA
    Baza PA
    Document4 pagini
    Baza PA
    Dani Rvd
    Încă nu există evaluări
  • Cursul 6
    Cursul 6
    Document54 pagini
    Cursul 6
    Dani Rvd
    Încă nu există evaluări
  • Cursul 7
    Cursul 7
    Document45 pagini
    Cursul 7
    Dani Rvd
    Încă nu există evaluări
  • Cursul 9
    Cursul 9
    Document9 pagini
    Cursul 9
    Dani Rvd
    Încă nu există evaluări
  • Cursul 8
    Cursul 8
    Document22 pagini
    Cursul 8
    Dani Rvd
    Încă nu există evaluări
  • Cursul 10 Recapitulare
    Cursul 10 Recapitulare
    Document32 pagini
    Cursul 10 Recapitulare
    Dani Rvd
    Încă nu există evaluări
  • Cursul 6
    Cursul 6
    Document54 pagini
    Cursul 6
    Dani Rvd
    Încă nu există evaluări
  • Cursul 10 Recapitulare
    Cursul 10 Recapitulare
    Document32 pagini
    Cursul 10 Recapitulare
    Dani Rvd
    Încă nu există evaluări
  • TSB
    TSB
    Document4 pagini
    TSB
    Dani Rvd
    Încă nu există evaluări
  • Cursul 9
    Cursul 9
    Document9 pagini
    Cursul 9
    Dani Rvd
    Încă nu există evaluări
  • Cursul 5
    Cursul 5
    Document31 pagini
    Cursul 5
    Dani Rvd
    Încă nu există evaluări
  • Cursul 4
    Cursul 4
    Document26 pagini
    Cursul 4
    Dani Rvd
    Încă nu există evaluări
  • Cursul 6
    Cursul 6
    Document54 pagini
    Cursul 6
    Dani Rvd
    Încă nu există evaluări
  • Cursul 7
    Cursul 7
    Document45 pagini
    Cursul 7
    Dani Rvd
    Încă nu există evaluări
  • Cursul 3
    Cursul 3
    Document29 pagini
    Cursul 3
    Dani Rvd
    Încă nu există evaluări