Documente Academic
Documente Profesional
Documente Cultură
Programare logică
Recapitulare
(S1.1)
Fie următoarea funcţie:
f1 : P ({1, 2, 3}) → P ({1, 2, 3}), f1 (Y ) = Y ∪ {1}
Indicati punctele fixe ale acesteia si cel mai mic punct fix.
Demonstraţie: Se observă că punctele fixe ale lui f1 sunt submulţimile Y ale lui {1, 2, 3}
care ı̂l conţin pe 1 (dacă 1 6∈ Y , atunci f1 (Y ) = Y ∪ {1} si Y 6= Y ∪ {1}). Deci punctele fixe
ale lui f1 sunt {1}, {1, 2}, {1, 3}, {1, 2, 3}. Evident, cel mai mic punct fix este {1}.
Demonstraţie:
Fie Y1 ⊆ A si Y2 ⊆ A cu proprietatea că Y1 ⊆ Y2 . Având ı̂n vedere definiţia monotonicităţii,
avem de arătat Vcă fS (Y1 ) ⊆ fS (Y2 ). Fie următoarele mulţimi:
Z1 = {a ∈ A | (V1≤i≤n si → a) ∈ S, s1 ∈ Y1 , ..., sn ∈ Y1 }
Z2 = {a ∈ A | ( 1≤i≤n si → a) ∈ S, s1 ∈ Y2 , ..., sn ∈ Y2 }
Deci:
fS (Y1 ) = Y1 ∪ Baza ∪ Z1
fS (Y2 ) = Y2 ∪ Baza ∪ Z2
Acum,
V deoarece Y1 ⊆ Y2 , mai avem de arătat că Z1 ⊆ Z2 . Fie a ∈ Z1 . Atunci există
( 1≤i≤n si → a) ∈ S şi s1 , ..., sn ∈ Y1 . Deci s1 , ..., sn ∈ Y2 , de unde rezultă că a ∈ Z2 .
(S1.3) Calculaţi cel mai mic punct fix pentru funcţia fS pentru următoarea mulţime de
clauze propoziţionale:
S = {x1 ∧ x2 → x3 , x4 ∧ x2 → x5 , x2 , x6 , x6 → x1 }
1
Demonstraţie:
Aşa cum putem vedea, A = {x1 , ..., x6 }, Baza = {x2 , x6 }. Deoarece fS este continuă,
aplicând Teorema Knaster-Tarski vom afla cel mai mic punct fix:
fS (∅) = {x2 , x6 }
fS ({x2 , x6 }) = {x2 , x6 , x1 }
fS ({x2 , x6 , x1 }) = {x2 , x6 , x1 , x3 }
fS ({x2 , x6 , x1 , x3 }) = {x2 , x6 , x1 , x3 }
Deci cel mai mic punct fix este {x1 , x2 , x3 , x6 }.
Demonstraţie:
V. cursul 4, ı̂ncepând cu slide-ul 36 (83 din 112).
Demonstraţie:
Demonstraţie:
2
ϕ1 = ∀x∀z∃w(R(x, f (x)) ∧ (R(f (x), z) → (R(z, w) ∧ R(w, w)))), (y 7→ f (x))
ϕ2 = ∀x∀z(R(x, f (x)) ∧ (R(f (x), z) → (R(z, g(x, z)) ∧ R(g(x, z), g(x, z))))), (w 7→ g(x, z))
(S1.7) Fie un limbaj de ordinul I cu F = {f, g}, ari(f ) = 2, ari(g) = 1, C = {b, c} şi
următoarea formulă:
ϕ = ∀x∀yP (c, f (x, b), g(y))
Construiţi universul şi expansiunea Herbrand pentru formula ϕ.
Demonstraţie:
Universul Herbrand al formulei ϕ:
T (ϕ) = {b, c, g(b), g(c), g(g(b)), g(g(c)), ..., f (b, c), f (b, g(b)), f (b, g(c)), f (g(c), b), f (g(c), g(c)), ...}
Expansiunea Herbrand a formulei ϕ:
H(ϕ) = {P (c, f (b, b), g(b)), P (c, f (b, b), g(c)), P (c, f (c, b), g(b)), P (c, f (g(b), b), g(g(g(b)))), ...}
(S1.8)
Folosind algoritmul Davis-Putnam, cercetaţi dacă următoarea mulţime de clauze din calculul
propoziţional este satisfiabilă:
Demonstraţie:
Pasul 1.
Alegem variabila v0 şi selectăm C0v0 := {{v0 }}, C0¬v0 = {{¬v0 , v1 }}.
Mulţimea rezolvenţilor posibili este R0 := {{v1 }}.
Se elimină clauzele ı̂n care apare v0 , adăugăm rezolvenţii şi obţinem:
Pasul 2.
Alegem variabila v1 şi selectăm C1v1 := {{v1 }} şi C1¬v1 := {{¬v1 , v2 , v3 }}.
Mulţimea rezolvenţilor posibili este R1 := {{v2 , v3 }}.
Se elimină clauzele ı̂n care apare v1 , adăugăm rezolvenţii şi obţinem:
C2 := {{¬v3 , v4 }, {¬v4 }, {¬v2 }, {v2 , v3 }}.
Pasul 3.
Alegem variabila v2 şi selectăm C2v2 := {{v2 , v3 }}, C2¬v2 := {{¬v2 }}.
Mulţimea rezolvenţilor posibili este R2 := {{v3 }}.
Se elimină clauzele ı̂n care apare v2 , adăugăm rezolvenţii şi obţinem: C3 := {{¬v3 , v4 }, {¬v4 }, {v3 }}.
Pasul 4.
3
Alegem variabila v3 şi selectăm C3v3 := {{v3 }}, C3¬v3 := {{¬v3 , v4 }}.
Mulţimea rezolvenţilor posibili este R3 := {{v4 }}.
Se elimină clauzele ı̂n care apare v3 , adăugăm rezolvenţii şi obţinem: C4 := {{¬v4 }, {v4 }}.
Pasul 5.
Alegem variabila v4 şi selectăm C4v4 := {{v4 }}, C4¬v4 := {{¬v4 }}.
Mulţimea rezolvenţilor posibili este R4 := {}.
Se elimină clauzele ı̂n care apare v4 , adăugăm rezolvenţii şi obţinem: C5 := {}.
Deoarece C5 = {}, obţinem că mulţimea de clauze C nu este satisfiabilă.
(S1.9)
Fie următoarea mulţime de clauze ı̂n logica de ordinul I:
Demonstraţie:
(1) Mulţimea instanţelor ı̂nchise ale clauzelor din C este:
H(C) = {{¬Q(b)}, {¬P (f (a)), Q(a)}, {¬P (f (a)), Q(b)}, {P (a)}, {P (b)}, {P (f (a))}, · · · }
Următoarea submulţime a lui H(C) este nesatisfiabilă:
{{¬P (f (a)), Q(b)}, {P (f (a))}, {¬Q(b)}}
Nesatisfiabilitatea acestei mulţimi se demonstrează construind tabelul de adevăr corespunzător
acesteia (v. cursul 7, slide-ul 23) şi observând că formula (¬P (f (a))∨Q(b))∧P (f (a))∧¬Q(b)
este falsă indiferent ce valori de adevăr atribuim atomilor P (f (a)) şi Q(b).
(2) Avem următoarea derivare a lui din mulţimea de clauze:
{¬P (f (a)), Q(b)}
{P (f (a))}
{Q(b)}
{¬Q(b)}
4
Demonstraţie: Se redenumeste C20 = {¬P (z), R(f (z), a)}
Rezolvent 1: L1 = {P (x)}, L2 = {¬P (z)}, substituţie θ = {z ← x},
rezolvent C = {P (g(y)), Q(x), R(f (x), a)}
Rezolvent 2: L1 = {P (x), P (g(y))}, L2 = {¬P (z)}, substituţie θ = {z ← g(y), x ← g(y)},
rezolvent C = {Q(g(y)), R(f (g(y)), a)}