Sunteți pe pagina 1din 4

Programare Logic

a
EXERCIT
II
Exercitiul 1 Fie (S, ) o signatura multisortata. O clasa K de (S, )-algebre se
numeste tip abstract de date monomorfic dac
a verifica urmatoarele propriet
ati:
(p1) dac
a A si B sunt (S, )-algebre astfel ncat A K si A B, atunci B K,
(p2) A B oricare ar fi A, B K.
Dati exemplu de un tip abstract de date monomorfic.
Exercitiul 2 Fie (S, ) o signatura multisortata, A si B dou
a (S, )-algebre,
iar h : A B un (S, )-morfism. Demonstrati ca, oricare ar fi D o subalgebra
a lui A, h(D) este o subalgebra a lui B.
Exercitiul 3 Scrieti o specificatie (S, , ), adecvat
a pentru algebra N = (N, 0, g, f )
unde N este multimea numerelor naturale, 0 N este constant
a, iar g : N N
si f : N N sunt definite astfel:
g(n) = n + 1 si f (n) = n mod 2 oricare n N.
Demonstrati ca specificatia g
asit
a este adecvat
a pentru N .
Exercitiul 4 Fie (S = {s}, ) o signatura monosortat
a cu = {1 : s, : ss s, 1 : s s}.
Fie = {1 , 2 , 3 } o multime de ecuatii, unde
.
(1 ) {x}1 x = x
1 .
(2 ) {x}x x = 1
.
(3 ) {x, y, z}x (y z) = (x y) z
Justificati faptul ca urmatoarea secventa de identit
ati este o -demonstratie n
logica ecuational
a, indic
and la fiecare pas regula de deductie folosita:
.
(e1) {a, b} a (a1 b) = (a a1 ) b
.
(e2) {a} a a1 = 1
.
(e3) {a, b} (a a1 ) b = 1 b
.
(e4) {b} 1 b = b
.
(e5) {a, b} (a a1 ) b = b
.
(e6) {a, b} a (a1 b) = b
Exercitiul 5 Fie (S = {s}, ) o signatura monosortat
a cu = { : ss s, 1 : s s}.
Daca X = {x, y, z, u, v} este o multime de variabile, g
asiti o substitutie : X T (X)
astfel ncat (t1 ) = (t2 ), unde t1 = (x y) z si t2 = v (u v)1 .
Exercitiul 6 Fie (S = {s}, ) o signatura monosortat
a, unde = {0 : s, g : s s, f : s s}.
Folosind sistemul de rescriere R = {f (g(0)) g(0), g(f (0)) g(0)}, rescrieti
termenii t1 = f (f (g(f (g(0))))) si t2 = f (f (0)) pana la o forma normal
a.
Caracterizati formele normale ale sistemului R.
.

Exercitiul 7 Fie (S, ) o signatura multisortata si e = (X)l = r o (S, )ecuatie. Daca A este o (S, )-algebr
a astfel ncat A |= e (A satisface ecuatia e),
demonstrati ca A/ |= e oricare ar fi o congruenta pe A.

Exercitiul 8 Fie (S, ) urmatoarea signatura: S = {elt},


.
.
= { : elt elt elt}. Daca = {{x} x x = x, {x, y} x y = y x},
.
demonstrati ca {x, y} (x y) (y x) = y x. Indicati la fiecare pas al
demonstratiei regulile de deductie folosite.
Exercitiul 9 Fie (S, , ) urmatoarea specificatie: S = {elt},
.
= {0 : elt, s : elt elt}, = {{x} s(s(s(x))) = x}. Pentru fiecare
din urmatoarele (S, )-algebre cercetati dac
a este -algebra initiala si justificati
r
aspunsul dat:
(a) N = (N, 0, succ), succ(n) = n + 1 oricare n N,
(b) Z3 = (Z3 , 0, succ), succ(n) = (n + 1)mod 3 oricare n Z3 .
Exercitiul 10 Gasiti un unificator pentru termenii
t1 = f (x, g(y, y), x) si t2 = f (z, z, g(w, h(v))),
unde x, y, z, w si v sunt variabile iar operatile f , g si h au aritatile 3,2,1.
Exercitiul 11 Cercetati dac
a sistemul de rescriere
R = {{x} f (g(f (x))) g(x), {x} g(f (g(x))) f (x)} este confluent, unde
fsi g sunt operatii unare.
Exercitiul 12 Determinati signatura atasata urmatoarei gramatici independente de context: G = (S0 , N, T, P ), unde N = {A, B}, S0 = A, T = {a, b}si
P = {A aAa, A aBa, B Bb, B b}.
Exercitiul 13 Fie (S, ) o signatura multisortata si
.
(X) l = r if H
o (S, )-ecuatie conditionat
a. Fie A este o (S, )-algebr
a astfel ncat
.
.
A |= (X) l = r if H. Demonstrati ca B |= (X) l = r if H oricare
ar fi B o subalgebra a lui A.
Exercitiul 14 Cercetati dac
a termenii
t1 = g(z, h(z, v), f (v)) si t2 = g(f (x), h(y, f (a)), f (f (b)))
au un unificator (x, y, z, v sunt variabile, a si b sunt constante iar operatile f ,
h, g au arit
atile 1,2,3).
Pentru urmatoarele exercitii folosim specificatia multisortata (S, , E), unde:
S = {nat, bool},
= {T : bool, F : bool, 0 : nat, succ : nat nat, iszero : nat bool},
.
E = { succ(succ(0)) = 0,
.
iszero(0) = T,
.
{x} iszero(succ(x)) = F }.

Exercitiul 15 Fie R sistemul de rescriere atasat lui E.


(a) Descrieti T (algebra termenilor far
a variabile) si indicati termenii t T
care sunt forme normale pentru R.
(b) Aratati ca R nu este confluent.
.

Exercitiul 16 Aratati ca E (T = F ) si scrieti o E-demonstratie formal


a
n logica ecuational
a, indic
and la fiecare pas regula de deductie folosita.
.

Exercitiul 17 Aratati ca E 6 {x} succ(succ(x)) = x.


(Indicatie: g
asiti o (S, , E)-algebr
a care nu satisface ecuatia.)
Exercitiul 18 Gasiti o (S, , E)-algebr
a initiala si justificati alegerea facut
a.
Exercitiul 19 Determinati signatura corespunzatoare urmatoarei gramatici independente de context:
T true | V V,
B T | B||B | !B,
N i, i {0, . . . , 9},

R reg n, n {1, 2, 3},


V N | R |V + V | V V,
E R = V | {P} | if B E | while B E,

N iN,

P E | E; P,

i {0, . . . , 9},

unde {true, , ||, !, +, , =, {, }, if, while, ; }{reg n, i| n {1, 2, 3}, i {0, . . . , 9}}
este multimea terminalelor.
Exercitiul 20 Fie (S, ) o signatura, K o clasa de (S, ) algebre si I o algebr
a
.
.
initiala n K. Aratati ca dac
a I |= (l = r) atunci A |= (l = r) oricare ar fi
A K.
Exercitiul 21 Studiati multimea de unificatori a termenilor
t1 = h(f (u), h(g(a, w), v, x), f (w)),

t2 = h(f (g(a, w)), h(v, g(w, a), f (v)), y),

unde u, v, w, x, y sunt variabile, a este constant


a iar f, g, h sunt operatori cu
arit
atile 1, 2, 3.
Pentru urmatoarele exercitii folosim specificatia (S, , E), unde:
S = {num},
= {one : num, double : num num, half : num num},
.
E = { {x} double(half (x)) = x,
.
{x} half (double(x)) = x}.
Exercitiul 22 Definiti pe Z operatiile de -algebra astfel ncat structura obtinuta
s
a fie E-algebra initiala.
Exercitiul 23 Pentru un termen t T ({x}), notam nr(t) = num
arul simbolurilor de operatie care apar n t. Fie R sistemul de rescriere atasat lui E.
(a) Aratati ca dac
a : {x} T ({x}) este o substitutie si {x} l r R,
atunci nr((l)) = nr((r)) + 2.
(Indicatie: : T ({x}) T ({x}) este un morfism.)
(b) Aratati ca t R t implica nr(t) > nr(t ).
(c) Aratati ca R se termin
a.
3

Exercitiul 24 Fie G = (S0 , N, T, P ) o gramatica independente de context cu


N = {A, B}, S0 = A, T = {a, b}si
P = {A aAB, A BAa, A a, B Bb, B b}.
(a) Determinati signatura atasata gramaticii G.
(b) Folosind semantica algebrei initiale, contruiti o algebra semantica care sa
asocieze unui cuvant w L(G) urmatoarea interpetare: Sem(w) = nr(a, w)
nr(b, w), unde nr(x, w) = numarul de aparitii ale literei x in w. Exemplificati
pentru w = aaabb.
Exercitiul 25 Fie S = {s} si = {f : s s, g : s s}. Pentru fiecare din
sistemele de rescriere de mai jos calculati perechile critice. Cercetati daca aceste
sisteme sunt complete.
(1) R1 = {f (g(f (x))) g(f (g(x)))},
(2) R2 = {f (f (x)) f (x)}
(3) R3 = {f (g(f (x))) g(f (g(x))), f (f (x)) f (x)}.
Exercitiul 26 Fie = {1 , 2 , 3 , 4 } o multime de clauze Horn, unde
(1 )
(2 )
(3 )
(1 )

student2(x) : prof (IL, x)


prof (z, x) : prof (z, y), serie(x, y)
prof (IL, M aria)
serie(Andrei, M aria)

(x, y, z sunt variabile; IL, M aria, Andrei sunt constante).


Gasiti o repingere din pentru
: student2(Andrei)

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