Metody programowania w logice Ćwiczenia: Lista 8 Zasada rezolucji

Transkrypt

Metody programowania w logice Ćwiczenia: Lista 8 Zasada rezolucji
Metody programowania w logice
Ćwiczenia: Lista 8
Zasada rezolucji∗
Przemysław Kobylański
Zadanie 1
Udowodnij że rezolwenta C klauzul C1 i C2 jest logiczną konsekwencją C1 i C2 .
Zadanie 2
Udowodnij stosując rezolucję, że następujący zbiór klauzul jest niespełnialny
p ∨ q ∨ r, ¬p ∨ r, ¬q, ¬r.
Zadanie 3
Wyprowadź przy użyciu rezolucji klauzulę pustą 2 ze zbioru S = {p ∨ q, ¬q ∨ r, ¬p ∨
q, ¬r}.
Zadanie 4
Określ czy następujące klauzule mają faktory. Jeśli tak, to wyznacz je.
1. p(x) ∨ q(y) ∨ p(f (x))
2. p(x) ∨ p(a) ∨ q(f (x)) ∨ q(f (a))
3. p(x, y) ∨ p(a, f (a))
4. p(a) ∨ p(b) ∨ p(x)
5. p(x) ∨ p(f (y)) ∨ q(x, y)
Zadanie 5
Znajdź wszystkie możliwe rezolwenty (jeśli są jakieś) następujących par klauzul:
1. C = ¬p(x) ∨ q(x, b), D = p(a) ∨ q(a, b)
2. C = ¬p(x) ∨ q(x, x), D = ¬q(a, f (a))
3. C = ¬p(x, y, u) ∨ ¬p(y, z, v) ∨ ¬p(x, v, w) ∨ p(u, z, w), D = p(g(x, y), x, y)
4. C = ¬p(v, z, v) ∨ p(w, z, w), D = p(w, h(x, x), w)
∗ Na
podstawie książki Changa i Lee.
1
Zadanie 6
Udowodnij za pomocą rezolucji, że ¬q → ¬p jest logiczną konsekwencją z p → q.
Zadanie 7
Niech C = p(x, y) ∨ q(z) i D = q(a) ∨ p(b, b) ∨ r(u). Sprawdź czy C pochłania D.
Zadanie 8
Niech C = p(x, y) ∨ r(y, z) i D = p(a, y) ∨ r(z, b). Udowodnij, że C nie pochłania D.
Zadanie 9
Niech C = ¬p(x) ∨ p(f (x)) i D = ¬p(x) ∨ p(f (f (x))). Pokaż, że C implikuje D, ale
C nie pochłania D.
2