Metod¦ rezolucji, znan¡ z rachunku
zda«, mo»na teraz naturalnie uogólni¢ na rachunek predykatów.
Przypomnijmy, »e struktur¡ reprezentuj¡c¡ formuª¦ jest zbiór zbiorów literaªów, albo ogólniej formuª:
L = {a1, . . . ,as} = {{k11, . . . ,km1}, . . . , {k1s, . . . ,kns}}
Zbór ten opisuje formuª¦ ϕL, która jest koniunkcj¡ s-alternatyw typu k11∨ . . . ∨km1. Formuªa ta jest niespeªnialna, gdy L zawiera zbiór pusty. Uwzgl¦dnimy te», »e nie zdeniowali±my jeszcze poj¦cia klauzuli dla rachunku kwantykatorów, wi¦c trzeba pami¦ta¢, o przeksztaªaniu formuª tak, aby faktycznie byªy
koniunkcjami alternatyw! Pami¦tajmy te», »e tutaj dodaje si¦ do zbioru nowe formuªy.
Reguªy dowodu dla metody rezolucji: Niech k ∈ ai ∈L
1 Je±li k = ¬¬l, dodajemy do L zbiór powstaªy z ai przez zast¡pienie k formuª¡ l.
2 Je±l k jest β formuª¡ dodajemy zbiór powstaªy z ai, w którym formuªa k zast¡piona jest skªadnikami β1, β2.
3 Je±l k jest α formuª¡ dodajemy dwa zbiory powstaªe z ai, w których formuªa k zast¡piona jest skªadnikiem α1 albo α2.
4 Je±li k jest nagacj¡ prawdy lub faªszu, to zamieniamy j¡ na faªsz lub prawd¦.
5 Je±li k jest γ-formuª¡, to dodajemy zbiór powstaªy z ai, w którym formuªa k zast¡piona jest przez formuª¦ powstaj¡c¡ z niej przez podstawienie termu bazowego za zmienn¡ zwi¡zan¡
usuwanym kwantykatorem uniwersalnym.
6 Je±li k jest δ-formuª¡, to dodajemy zbiór powstaªy z ai, w którym formuªa k zast¡piona jest przez formuª¦ powstaj¡c¡ z niej przez podstawienie za zmienn¡ nowej staªej.
1 Je±li dwa zbiory ai oraz aj zawieraj¡ par¦ formuª
komplementarnych k i ¬k, to dodajemy do L ich rezolwent¦:
ai ∪aj \ {k, ¬k}.
Przykªad 1. Wykorzystamy metod¦ rezolucji w dowodzie twierdzenia rachunku kwantykatorów:
∀x(ϕ ⇒ ψ) ⇒ (∀xϕ ⇒ ∀xψ). W kolejnych punktach wypisujemy tylko dodawane zbiory formuª.
1 {{¬(∀x(ϕ ⇒ ψ) ⇒ (∀xϕ ⇒ ∀xψ)}}
2 {∀x(ϕ ⇒ ψ)}, {¬(∀xϕ ⇒ ∀xψ))}
3 {∀xϕ}, {¬∀xψ}
4 {¬ψ(a)}, gdzie a jest now¡ staª¡;
5 {ϕ(a)}
6 {ϕ(a) ⇒ ψ(a)}
7 {¬ϕ(a), ψ(a)}, a bior¡c rezpolwent¦ z 5 mamy
8 {ψ(a)} i rezolwenta z 4 daje pusty zbiór.
Werykowanie, czy mo»na bra¢ rezolwent¦ dwóch zbiorów, gdy rozwa»amy dowolne formuªy, a nie literaªy mo»e by¢ ograniczone do specjalnych formuª, które równie» b¦dziemy nazywa¢ literaªami, czyli formuª atomowych lub ich negacji.
Denicja
Formuªa jest w preneksowej postaci normalnej, gdy jest postaci:
Q1. . .QnM
gdzie Qi jest postaci ∃x lub ∀x, a M jest w koniunkcyjnej postaci normalnej, czyli jest koniunkcj¡ alternatyw literaªów. Wtedy
Q1. . .Qn nazywamy preksem, a M matryc¡ formuªy. Formuªa jest w postaci klauzulowej, je±li w preksie wyst¦puje tylko
kwantykator uniwersalny. Oczywi±cie zbiór literaªów rozumiany jako ich alternatywa nazywamy klauzul¡.
Przypomnijmy, »e w metodzie rezolucji zachowywana jest speªnialno±¢.
Denicja
Dla formuª A, A0, niekoniecznie tego samego j¦zyka, zapis A ≈ A0 oznacza, »e A i A0 s¡ jednocze±nie speªnialne lub niespeªnialne.
Okazuje si¦, »e gdy chodzi o speªnialno±¢ zda« (czyli prawdziwo±¢) mo»emy rozwa»a¢ tylko klauzule!
Twierdzenie (Skolem)
Dla ka»dego zdania A istnieje zdanie A0 w postaci klauzulowej takie, »e A ≈ A0.
Uwaga Przykªad formuªy ∀x∃yp(x, y) rozwa»any w poprzednim rozdziale obja±nia, jak usuwa si¦ kwantykator ∃: prawdziwo±¢ tego zdania oznacza, »e dla ka»dego x mo»na dobra¢ y, aby otrzyma¢
warto±ciowanie, przy którym p(x, y) jest speªnialne. To odpowiada intuicji funkcji, wi¦c nietrudno wykaza¢, »e A0 = ∀xp(x, f (x)) jest dobrym zdaniem A ≈ A0. Opiszemy odpowiedni algorytm na przykªadzie zdania z przykªadu 1.
Algorytm skolemizacji Wej±cie: zdanie A
Wyj±cie: zdanie A0 w postaci klauzulowej takie,»e A ≈ A0.
1 Zmieniamy zmienne kwantykowane tak, aby »adna nie wyst¦powaªa w dwóch kwantykatorach.
∀x(ϕ(x) ⇒ ψ(x)) ⇒ (∀yϕ(y) ⇒ ∀zψ(z))
2 Przeksztaªamy formuª¦ do postaci, w której wyst¦puje tylko nagacja, alternatywa i koniunkcja.
¬∀x(¬ϕ(x) ∨ ψ(x)) ∨ ¬∀yϕ(y) ∨ ∀zψ(z)
3 Korzystamy z praw de Morgana, aby przesun¡¢ negacj¦ "do
±rodka"i usun¡¢.
∃x(ϕ(x) ∧ ¬ψ(x)) ∨ ∃y¬ϕ(y) ∨ ∀zψ(z)
4 Wyci¡gamy na zwen¡trz wszystkie kwantykatory np. w kolejno±ci ich wyst¦powania.
∃x∃y∀z((ϕ(x) ∧ ¬ψ(x)) ∨ ¬ϕ(y) ∨ ψ(z))
1 Teraz matryc¦ przeksztaªcamy do postaci normalnej koniunkcyjnej:
∃x∃y∀z((ϕ(x) ∨ ¬ϕ(y) ∨ ψ(z)) ∧ (¬ψ(x) ∨ ¬ϕ(y) ∨ ψ(z))
2 Dla ka»dego kwantykatora ∃x i kwantykatorów
uniwersalnych dla zmiennych y1, . . . ,yn poprzedzaj¡cych go wprowadzamy nowy symbol funkcji n-argumentowej f (gdy n = 0 wprowadzamy staª¡). Nast¦pnie usuwamy ∃x i zast¦pujemy ka»de wyst¡pienie zmiennej x termem f (y1, . . . ,yn).
∀z((ϕ(a) ∨ ¬ϕ(b) ∨ ψ(z)) ∧ (¬ψ(a) ∨ ¬ϕ(b) ∨ ψ(z))
Uwagi:
1 Nietrudno wykaza¢, »e pierwszych pi¦¢ kroków algorytmu zachowuje logiczn¡ równowa»no±¢.
2 Algorytm jest niedterministyczny, wi¦c np. wybór kolejno±ci wyci¡gni¦cia kwantykatorów wpªywa na otrzymane wyj±cie.
Twierdzenie Skolema mo»na wykorzysta¢ modykuj¡c algorytm rezolucji nast¦puj¡co:
1 Je±li k jest γ-formuª¡, to dodajemy zbiór powstaªy z ai, w którym formuªa k zast¡piona jest przez formuª¦ powstaj¡c¡ z niej przez podstawienie nowej zmiennej za zmienn¡ zwi¡zan¡
usuwanym kwantykatorem uniwersalnym.
2 Je±li k jest δ-formuª¡, to dodajemy zbiór powstaªy z ai, w którym formuªa k zast¡piona jest przez formuª¦ powstaj¡c¡ z niej przez podstawienie za zmienn¡ termu f (y1, . . . ,yn), gdzie f jest nowym symbolem funkcyjnym, a y1, . . . ,yn zmiennymi wolnymi formuªy ϕL.
3 Reguªa rezolucji jest stosowana przy wªa±ciwym podstawieniu uzgadniaj¡cym.
Zauwa»my, »e wobec powy»szych modykacji nawet gdy
zastosujemy metod¦ do zdania zaczn¡ si¦ pojawia¢ formuªy, które nie b¦d¡ zdaniami. Mo»emy przykªadowo otrzyma¢ lieraªy
{¬r(d(v), v, w))} i {r(u, a, f (u))}, gdzie a jest staª¡, a u, v, w zmiennymi, które nie s¡ komplementarne, ale za zmienne mo»emy podstawi¢ termy tak, aby uzyska¢ par¦ literaªów
komplementarnych. Metody wyznaczania (najbardziej ogólnego) unikatora s¡ wa»nym dziaªem programowania równo±ciowego. W podanym przykªadzie nie wyst¦puj¡ kwantykatory, wi¦c ªatwo zauwa»y¢, »e oryginalna para formuª jest niespeªnialna wtw, gdy ich rezolwenta uzyskana przez podstawienie
v := a, u := d(a), w := f (d(a)) jest niespeªnialna.
Przykªad Rozwa»my formuª¦ ∃yx = y arytmetyki liczb naturalnych. Oczywi±cie jest ona twierdzeniem tej arytmetyki.
Podstawmy za x term y + 1, otrzymane zdanie ∃yy + 1 = y nie jest prawdziwe! Jest to mo»liwe poniewa» postawienie to nie jest wªa±ciwe.
Denicja
Term t jest wolny dla zmiennej x i formuªy ϕ, je±li »adne wyst¡pienie zmiennej x w ϕ nie jest w zasi¦gu kwantykatora
∀y, ∃y dla zmiennej y wyst¦puj¡cej w t. Wtedy podstawienie t za x w ϕ nazywamy wªa±ciwym.
Mo»na pokaza¢, »e stosowanie wªa±ciwych podstawie« zachowuje speªnialno±¢.
Przykªad 2. Przeprowadzimy dowód zdania
∃z∀xr(x, z, f (x)) ⇒ ∃z∀x∃yr(x, z, y))
1 {{¬(∃z∀xr(x, z, f (x)) ⇒ ∃z∀x∃yr(x, z, y)))}}
2 {∃z∀xr(x, z, f (x))}
3 {¬∃z∀x∃yr(x, z, y))}
4 {∀xr(x, a, f (x))}
5 {¬∀x∃yr(x, v, y))}
6 {¬∃yr(d(v), v, y))}
7 {¬r(d(v), v, w))}
8 {r(u, a, f (u))}
Tutaj a jest now¡ staª¡, u, v, w nowymi zmiennymi. Bior¡c dwie ostatnie klauzule, dokonuj¡c podstawienia
v := a, u := d(a), w := f (d(a)) i stosuj¡c rezolucj¦ otrzymamy klauzul¦ pust¡.
Opisana wersja metody rezolucji jest dosy¢ trudna w implementacji.
Po pierwsze, w czasie dowodu zmienia si¦ j¦zyk, co trzeba kontrolowa¢. Po drugie, wyszukiwanie unikatora najbardziej ogólnego tylko dla jednej pary klauzul cz¦sto wydªu»a dowód.
Dlatego pojawiªy si¦ wersje rezolucji, które uwzgl¦dniaj¡c te uwagi s¡ bardziej efektywne.