2. Język klauzul: syntaktyka, semantyka, rezolucja 2.1 Funkcje i

Transkrypt

2. Język klauzul: syntaktyka, semantyka, rezolucja 2.1 Funkcje i
2. Język klauzul: syntaktyka, semantyka, rezolucja
2.1 Funkcje i termy
Zapoznanie się z systemami reprezentacji wiedzy logicznej ograniczyliśmy jak
dotąd do rachunku kwantyfikatorów i nie były rozwaŜane interpretacje formuł
będących schematami zdań zawierających funktory nazwotwórcze, dla których
jako reprezentacje przyjęliśmy w metodzie formalizacji symbole funkcyjne
postaci fnk, gdzie n oznacza numer symbolu, a k oznacza liczbę nazw łączonych
przez symbolizowany funktor nazwotwórczy, a zarazem liczbę przyłączanych
przez ten symbol funkcyjny termów reprezentujących przyłączane nazwy.
Nazwanie symboli reprezentujących funktory nazwotwórcze „symbolami
funkcyjnymi” uzasadnione jest funkcją jaka spełniają te funktory w interpretacji
wyraŜeń języka
w danej dziedzinie wiedzy: nazywanym obiektom
przyporządkowują inny obiekt naleŜących do klasy obiektów wskazywanych
przez ten funktor wewnątrz pewnego pojęcia. Np. funktor „matka …” z
zaimkiem imiennym „tej Ewy” tworzy zaimek imienny „matka tej Ewy”, co w
interpretacji w dziedzinie wiedzy o rodzinie tej Ewy przyporządkowuje tej
Ewie jedną tylko kobietę - jej matkę. Analogicznie rozumiemy uŜywanie
symbolu funkcyjnego w matematyce. W tym kontekście, w pełni zasadne będzie
wprowadzenie niŜej zdefiniowanych pojęć.
Definicja 2.1.1 (opis termów w notacji BNF)
Niech, jak poprzednio, zadany będzie język Form, a Fun={fnk: n,k∈N} jest
zbiorem symboli funkcyjnych. Następująca gramatyka bezkontekstowa definiuje
termy jako uogólnienie zmiennych i stałych. Zmieniono regułę produkcji
definiującą formuły atomowe. Argumentem formuły atomowej jest teraz takŜe
lista termów:
<term>::= x
dla dowolnej zmiennej x∈V;
<term>::= c
dla dowolnej stałej c∈C;
<lista_termów>::= <term>|<lista_termów>,<term> ;
<term>::= f(<lista_termów>)
dla dowolnego f∈Fun;
<atom>::= P(<lista_termów>)
dla dowolnego predykatu P∈P.
Zbiór termów oznaczamy przez Term.
Uwaga: w metajęzyku dla oznaczenia termów będziemy stosować zmienne: t,
t1, …tk, ….
PoniewaŜ w systemie tabel semantycznych kaŜda linia dowodu niewprost
kończy się literałem zawierającym formułę atomową bez wolnych zmiennych,
waŜne jest określenie tego typu formuł.
Definicja 2.1.2 (ustalanie formuł)
Termy i formuly ustalone określone są następująco:
<term_ustalony>::= c
dla dowolnej stałej c∈C;
<lista_termów_ustalonych>::= <term_ustalony>
|<lista_termów_ustalonych>,<term_ustalony>;
<term_ustalony>::= f(<lista_termów_lonych>)
dla dowolnego f∈Fun;
<atom_ustalony>::= P(<lista_termów_ustalonych>)
dla dowolnego predykatu P∈P;
<formula_ustalona>::= <formuła dająca się wyprowadzić z formuł_ustalonych
za pomocą reguł produkcji przyjętych dla gramatyki języka rachunku
kwantyfikatorów>.
Zbiór wszystkich termów ustalonych będziemy oznaczać przez H(C,Fun) i
nazywać przestrzenią Herbranda zbioru wszystkich formuł logiki pierwszego
rzędu z termami, zbiór wszystkich formuł ustalonych B(C,Fun) będziemy
nazywać bazą Hebranda zbioru formuł tej logiki.
Metatwierdzenie 2.1.1
KaŜda formuła atomowa jest formułą ustaloną.
Wprowadzone definicje wymagają uściślenia dotychczasowej definicji
interpretacji. Przyjmijmy, Ŝe będziemy rozwaŜać dziedziny wiedzy jako
struktury (systemy) relacyjne dające się precyzyjnie opisać teoriomnogościowo
za pomocą układu
D =<D, R, F, D0> = <D, {Ri: i∈ I}, {Fj: j∈ J}, {dk: k∈ K}>,
gdzie
1) D jest uniwersum dziedziny D,
2) R={Ri: i∈ I} jest indeksowanym indeksami ze zbioru I zbiorem relacji
określonych w zbiorze D,
3) F={Fj: j∈ J} jest indeksowanym indeksami ze zbioru J zbiorem funkcji
określonych w zbiorze D,
4) zbiór D0={dk: k∈ K} jest indeksowanym indeksami ze zbioru K
wyróŜnionym podzbiorem uniwersum D.
W celu dokonania interpretacji wyraŜeń języka rachunku kwantyfikatorów w
dziedzinie D, ze względu na przeliczalność zbioru wszystkich wyraŜeń, musimy
ograniczyć rozwaŜane dziedziny wiedzy do przeliczalnych zbiorów: relacji,
funkcji, wyróŜnionego zbioru obiektów, określając te zbiory jako ciągi
skończone, a jeśli to niemoŜliwe, jako nieskończone ciągi (co w ramach teorii
mnogości zawsze jest moŜliwe). Ponadto, powinniśmy dysponować wiedzą o
ilości argumentów dowolnej n-tej relacji i n-tej funkcji. Tę wiedzę da nam
znajomość sygnatury D, określonej przez trzy funkcje:
s.1 τ1:I → N, τ1(i) = liczba argumentów w relacji Ri,
s.2 τ2:J → N, τ2(j) = liczba argumentów w funkcji Fj,
s.3 τ3:K → {0}, τ3(k) = 0, co formalnie wskazuje na istnienie k-tego elementu
w indeksowanym zbiorze D0={dk: k∈ K}.
Teraz natychmiast moŜemy określić funkcję reprezentacji wiedzy
re: D ∪ R ∪ F → P ∪ F ∪ C,
Re.1 re(dk) = ck∈C, dla dk∈D0,
Re.2 re(Ri) = Pij , dla Ri ∈ R, gdy Pij∈P oraz j=τ1(i),
Re.3 re(Fi) = fij , dla Fi ∈ F, gdy fij∈Fun oraz j=τ2(i).
Funkcja reprezentacji wydziela ze zbioru symboli języka rachunku
kwantyfikatorów (rozszerzonego o termy) zbiór P’ ∪ F’ ∪ C’ symboli
reprezentujących podstawowe składniki struktury relacyjnej D. Wyznaczone
reprezentanty generują przy uŜyciu reguł produkcji formuł: zbiór Atom’, zbiór
predykatów P’, zbiór symboli funkcyjnych Fun’, zbiór Term’ termów oraz
zbiór formuł zamkniętych Form*’. Zbudowany w ten sposób język nazywany
jest językiem struktury relacyjnej D. Konstrukcja zbioru Atom’ umoŜliwia
określenie funkcji interpretacji wyróŜnionych formuł atomowych
Definicja 2.1.3 (interpretacji formuł zamkniętych)
Określmy funkcję v interpretacji formuł atomowych języka struktury
relacyjnej D w tej strukturze, następująco:
In.0 v: P’ ∪ F’ ∪ Atom’ ∪ Term’ → D ∪ R ∪ F ∪ {0, 1},
In.1 v(ck)= dk∈D0,
In.2 v(Pij) =Ri ∈ R, dla Pij∈P’, gdy j=τ1(i),
In.3 v(fij ) = Fi ∈ F,dla fij∈Fun’, gdy j=τ2(i),
In.4 v(fij(t1,t2,...,tj)) = d∈D wtw, gdy F(v(t1),v(t2),...,v(tj)) = d,
dla fij∈Fun’, F= v(fij) oraz t1,t2,...,tj∈ Term’
In.5 v(Pij(t1,t2,...,tj)) =1 wtw, gdy (v(t1),v(t2),...,v(tj))∈ R=v(Pij),
dla Pij∈P’ oraz t1,t2,...,tj∈ Term’,
In.6 v(Pij(t1,t2,...,tj)) =0 wtw, gdy (v(t1),v(t2),...,v(tj))∉ R=v(Pij),
dla Pij∈P’ oraz t1,t2,...,tj∈ Term’.
Funkcję v moŜna rozszerzyć analogicznie jak dla rachunku kwantyfikatorów tak,
aby interpretowała wszystkie formuły zamknięte języka struktury relacyjnej D,
przy czym, w zasadach (ZALLX) oraz (ZNEX), oprócz wykorzystywania do
podstawiania za zmienne dowolnych stałych naleŜy rozszerzyć podstawianie do
dowolnych ustalonych termów (naleŜących do przestrzeni Herbranda formuł
systemu logicznego), wtedy tę funkcję będziemy nazywać interpretacją formuł
zamkniętych języka logiki pierwszego rzędu z termami. Gdy P’=F’=∅, to jest to
interpretacja formuł rachunku zdań, gdyŜ Atom’={p1, p2, …..}.
Uzupełniając język struktury relacyjnej D o predykat identyczności oraz dodając
aksjomaty identyczności, moŜemy język zawierający termy przekształcić w
zwykły język logiki pierwszego rzędu z identycznością. Jako aksjomaty
identyczności przyjmuje się:
Id.1 (zwrotność)
t = t,
dla dowolnego termu t,
Id.2 (ekstensjonalność)
t1 = t2 ⇒ (A(t1)⇔A(t2)),
dla dowolnych termów t1, t2 oraz dowolnej formuły A(x).
Wobec aksjomatów identyczności, dowolne wyraŜenie postaci:
x = fij(t1,t2,...,tj)
moŜna zapić w postaci
Fij(x1,x2,...,xj,x), x1=t1,..., xj=tj,
a pozostałe równości dotąd zapisywać w powyŜszej postaci, aŜ znikną symbole
funkcyjne. PoniewaŜ w strukturze relacyjnej D wszelkie funkcje są relacjami
jednoznacznymi względem jednego (np. ostatniego) z argumentów, tj.
v(Fij)=R=Fi wtw, gdy Fi = {<d1,d,...,dj,d>: d=Fi(d1,d2,...,dj); d1,d2,...,dj ∈D}.
Więc
(v)
predykaty Fij i symbole funkcyjne fij-1 są jednakowo interpretowane:
v(Fij) = v(fij-1),
a ponadto
(fun)
Fij(x1,x2,...,xj,x) ∧ Fij(x1,x2,...,xj,x’) ⇒ x = x’.
Zatem
Metatwierdzenie 2.1.1
Dowolnej formule logiki pierwszego rzędu z termami i identycznością moŜna
wzajemnie jednoznacznie przyporządkować odpowiednią formułę języka logiki
pierwszego rzędu z identycznością i rozszerzonym językiem o predykaty postaci
Fij, spełniające powyŜszy warunek jednoznaczności (fun). Ponadto, spełniony
jest warunek (v). Wymienione logiki posiadają interpretacje (zbiory tez mają
modele) jedynie w tych samych strukturach relacyjnych. W tym sensie te logiki
są równowaŜne.
2.2 Postać klauzulowa formuł
Niech pewna formuła postaci
Φ = ∀x1∀x2…∀xn∃xA(x1,x2,…,xn,x)
posiada pewną interpretację v w dziedzinie
D’ =<D, R, D0> = <D, {Ri: i∈ I}, {dk: k∈ K}>,
wtedy dla dowolnych termów ustalonych t1, t2, …, tn istnieje pewna stała c taka,
Ŝe
v(A(t1,t2,…,tn,c)) = 1,
a zbiór
R ={<d1,d2,…,dn,d>∈Dn+1: t1,t2,…,tn∈C, d1= v(t1), d2= v(t2),…,dn= v(tn),
istnieje c∈C takie, Ŝe d=v(c) i v(A(t1,t2,…,tn,c)) = 1}
jest relacją, którą w tej interpretacji reprezentuje formuła Φ. PoniewaŜ kaŜdą
relację, co najmniej dwuargumentową, moŜna rozbić na sumę funkcji, których
wartościami są pewne wartości ostatniego argumentu relacji, a do dziedziny tej
funkcji moŜna zaliczyć wszystkie krotki wartości argumentów poprzedzających
ostatni argument, więc te funkcje moŜna dołoŜyć do dziedziny D’, jako zbiór
funkcji. Otrzymamy w ten sposób pewną strukturę relacyjną D, której język
będzie zawierał nie tylko formułę Φ, ale takŜe symbol funkcyjny fin taki, Ŝe dla
interpretacji v’ określonej przy tej nowej dziedzinie zgodnie z def.2.1.3,
otrzymamy równość
v’(∀x1∀x2…∀xn∃xA(x1,x2,…,xn,x)⇔∀x1∀x2…∀xnA(x1,x2,…,xn,fin(x1,x2,...,xtn))))=1.
ZauwaŜmy, Ŝe dla rozwaŜanej formuły nietrudno jest wyznaczyć jakąś
interpretację w dziedzinę postaci D. Udowodniliśmy więc
Metatwierdzenie 2.2.1 (skolemowska redukcja kwantyfikatora)
Dla dowolnej formuły postaci ∀x1∀x2…∀xn∃xA(x1,x2,…,xn,x)
istnieje
interpretacja v formuł zamkniętych języka logiki pierwszego rzędu z termami
taka, Ŝe
v((∀x1∀x2…∀xn∃xA(x1,x2,…,xn,x)⇔∀x1∀x2…∀xnA(x1,x2,…,xn,fin(x1,x2,...,xn))))=1
Więcej, równość ta jest spełniona dla kaŜdej interpretacji v dla której
v(∀x1∀x2…∀xnA(x1,x2,…,xn,fin(x1,x2,...,xn)))=1,
ale wtedy takŜe jest
v(∀x1∀x2…∀xn∃xA(x1,x2,…,xn,x))=1.
Zatem, tautologią jest formuła
(∀x1∀x2…∀xnA(x1,x2,…,xn,fin(x1,x2,...,xn)) ⇒
(∀x1∀x2…∀xn∃xA(x1,x2,…,xn,x)⇔∀x1∀x2…∀xnA(x1,x2,…,xn,fin(x1,x2,...,xn)))).
Definicja 2.2.1 (postać normalna formuły)
O dowolnej formule, w której wszystkie kwantyfikatory występują jedyni na
początku formuły nazywamy formułą posiadającą postać normalną lub postać
preneksową. Część formuły w postaci normalnej, która nie zawiera
kwantyfikatorów, nazywamy matrycą, a pozostałą część prefiksem.
Metatwierdzenie 2.2.2 (o postaci normalnej)
Dowolną formułę zamkniętą w dowolnym systemie logicznym pierwszego rzędu
(z regułą ekstensjonalności dla równowaŜności), moŜemy przekształcić w
równowaŜną jej formułę posiadającą postać normalną.
Dowód. Algorytm normalizacji
1. zastępujemy implikacje i równowaŜności występujące w formule
wyraŜeniami zawierającymi jedynie negacje, koniunkcje lub alternatywy
korzystając z następujących praw:
N.1 (A ⇒ B) ⇔ (¬A ∨ B),
N.2 (A ⇔ B) ⇔ ((¬A ∨ B) ∧ (A ∨ ¬B)),
2. likwidujemy negacje występujące przed alternatywami lub koniunkcjami
oraz kwantyfikatorami korzystając z praw de Morgana:
N.3 ¬(A ∨ B) ⇔ (¬A ∧ ¬B),
N.4 ¬(A ∧ B) ⇔ (¬A ∨ ¬B),
N.5 ¬∀xA ⇔ ∃x(¬A),
N.6 ¬∃xA ⇔ ∀x(¬A),
prawa te stosuje do momentu aŜ zastosowanie ich w danej fazie nie będzie
moŜliwe,
3. korzystne jest w normalizowanej formule zamienić zmienne związane
kwantyfikatorami na róŜne od siebie zmienne; następnie, przed koniunkcje
lub alternatywy formuł, będące częścią przekształcanej formuły,
wyciągamy najpierw kwantyfikatory egzystencjalne, a potem generalne,
korzystając z następujących praw zadanych dla alternatyw oraz
koniunkcji formuł, z których chociaŜ jedna formuła poprzedzona jest
kwantyfikatorem; zmienne x’, y oznaczają zmienną zastępującą zmienną
x, nie występujące po ich wyciągnięciu przed koniunkcję lub alternatywę
bezpośrednio przed nimi lub niewystępujące dotąd w przekształcanej
formule:
N.7 (∀xA ∧ ∀xB ) ⇔ ∀x’(A ∧ B),
N.8 (∀xA ∧ B ) ⇔ ∀x’(A ∧ B),
N.9 (A ∧ ∀xB ) ⇔ ∀x’(A ∧ B),
N.10 (∀xA ∨ B ) ⇔ ∀x’(A ∨ B),
N.11 (A ∨ ∀xB ) ⇔ ∀x’(A ∨ B),
N.12 (∃xA ∨ ∃xB ) ⇔ ∃x’(A ∨ B),
N.13 (∃xA ∨ B ) ⇔ ∃x’(A ∨ B),
N.14 (∃xA ∧ B ) ⇔ ∃x’(A ∧ B),
N.15 (A ∨ ∃xB ) ⇔ ∃x’(A ∨ B),
N.16 (A ∧ ∃xB ) ⇔ ∃x’(A ∧B),
N.17 (∀xA ∨ ∀xB ) ⇔ ∀x’∀y(A ∨ B(y/x)),
N.18 (∃xA ∧ ∃xB ) ⇔ ∃x’∃y(A ∧ B(y/x)),
N.19 (∀xA ∨ ∃xB ) ⇔ ∃y ∀x’ (A ∨ B(y/x)),
N.20 (∃xA ∨ ∀xB ) ⇔ ∃x’∀y(A ∨ B(y/x)),
N.21 (∀xA ∧ ∃xB ) ⇔ ∃y ∀x’ (A ∧ B(y/x)),
N.22 (∃xA ∧ ∀xB ) ⇔ ∃x’∀y(A ∧ B(y/x)),
N.23 przemienność kwantyfikatorów generalnych,
N.24 przemienność kwantyfikatorów egzystencjalnych,
4. punkty 2 i 3 wyczerpują wszystkie moŜliwe przypadki rozłoŜenia się
kwantyfikatorów w koniunkcji lub alternatywie; stosujemy te punkty
podczas równowaŜnościowych przekształceń do momentu otrzymania
formuły w postaci kanonicznej, co ze względu na skończoną ilość znaków
przekształcanej formuły musi nastąpić po pewnej ilości dokonanych
przekształceń. Następnie, wykreślając powtarzające się formuły w
koniunkcjach i alternatywach, oraz stosując rozdzielność alternatywy
względem koniunkcji (prawo L12) otrzymujemy matrycę
postaci
normalnej jako koniunkcję alternatyw - opisany proces ze względu na
skończoną złoŜoność budowy formuły musi się zakończyć takim
rozstrzygnięciem
Przykład 2.2.1 (sprowadzenie formuły zamkniętej do postaci normalnej)
1. ((∃x1 P11(x1) ⇒ ∃x1∃x2 P12(x1,x2)) ∧∀x2 (¬∃x1 P11(x1) ∨ ¬∃x1 P12(x1,x2))),
2. ((¬∃x1 P11(x1) ∨ ∃x1∃x2 P12(x1,x2)) ∧∀x2 (¬∃x1 P11(x1) ∨ ¬∃x1 P12(x1,x2))),
(zastąpienie implikacji na podstawie prawa N.1)
1
3. ((∀x1 ¬P1 (x1) ∨ ∃x1∃x2 P12(x1,x2)) ∧∀x2 (∀x1 ¬P11(x1) ∨ ∀x1
¬P12(x1,x2))),
(zastosowanie praw de Morgana N.6 dla negacji kwantyfikatorów
egzystencjalnych)
4. (∀x1∃x3 (¬P11(x1) ∨ ∃x2 P12(x3,x2)) ∧∀x2∀x1 ∀x4 (¬P11(x1) ∨ ¬P12(x4,x2))),
(zastosowanie prawa N.19 do pierwszego członu koniunkcji, a
prawa N.17 do drugiego członu)
5. (∀x1∃x3 (¬P11(x1) ∨ ∃x2 P12(x3,x2)) ∧∀x1 ∀x2 ∀x4 (¬P11(x1) ∨
¬P12(x4,x2))),
(z N. 23 przestawienie w drugim członie kwantyfikatorów: ∀x2 z
∀x1)
6. (∀x1∃x3 ∃x2 (¬P11(x1) ∨ P12(x3,x2)) ∧∀x1 ∀x2 ∀x4 (¬P11(x1) ∨
¬P12(x4,x2))),
(zastosowanie N.15 do alternatywy w pierwszym członie koniunkcji)
7. ∀x1 (∃x3 ∃x2 (¬P11(x1) ∨ P12(x3,x2)) ∧ ∀x2 ∀x4 (¬P11(x1) ∨ ¬P12(x4,x2))),
(zastosowanie do koniunkcji prawa N.7 dla∀x1)
8. ∀x1∃x3 ∀x2 (∃x2 (¬P11(x1) ∨ P12(x3,x2)) ∧ ∀x4 (¬P11(x1) ∨ ¬P12(x4,x2))),
(zastosowanie do koniunkcji najpierw prawa N.14 a następnie N.9)
9. ∀x1∃x3 ∀x2∃x5 ( (¬P11(x1) ∨ P12(x3,x5)) ∧ ∀x4 (¬P11(x1) ∨ ¬P12(x4,x2))),
(zastosowanie N.14 do koniunkcji)
10.∀x1∃x3 ∀x2∃x5 ∀x4 ( (¬P11(x1) ∨ P12(x3,x5)) ∧ (¬P11(x1) ∨ ¬P12(x4,x2))),
(zastosowanie N.9 do koniunkcji)
Przykład wskazał na moŜliwość wystąpienia róŜnych postaci normalnych
(preneksowych) otrzymanych z danej formuły (ze względu na moŜliwość
zastępowania zmiennych przekształcanej formuły róŜnymi zmiennymi, nie
stosowano takŜe Ŝadnych preferencji do wyciągania najpierw kwantyfikatora
egzystencjalnego). PoniewaŜ matrycę (część bez kwantyfikatorów) formuły w
postaci normalnej moŜemy sprowadzić do normalnej postaci dla rachunku zdań:
koniunkcji alternatyw literałów lub alternatywy koniunkcji literałów, waŜna
będzie definicja:
Definicja 2.2.2
Dla dowolnie wybranej formuły zamkniętej, formułę o postaci normalnej, której
matryca jest koniunkcją alternatyw literałów, otrzymaną z wybranej formuły
przez zastosowanie reguły ekstensjonalności dla równowaŜności i praw N.1N.24, nazywamy postacią normalną wybranej formuły, a ich wywód
normalizacją wybranej formuły. Prawa N.1-N.22, jako wykorzystane do
normalizacji, nazywamy prawami normalizacyjnymi.
Jeśli dla danej postaci normalnej wybranej formuły, zastosujemy redukcję
kwantyfikatorów egzystencjalnych określoną w Metatwierdzeniu 2.2.1, tyle razy
ile jest potrzebne do ich całkowitego usunięcia, pamiętając o tym, Ŝe
kwantyfikatory egzystencjalne występujące na początku formuły redukujemy
poprzez regułę ich opuszczania (EX): ∃x A(x) / A(c). Reguła (EX) nie
wprowadza do formuły symboli funkcyjnych, w więc nie zwiększa jej
złoŜoności pod względem budowy, a tym samym nie zawęŜa klasy interpretacji
do struktur relacyjnych z odpowiednimi indeksowanymi zbiorami funkcji, tym
samym nie wiedzy logicznej. Z tego powodu, aby nie wprowadzać zawęŜonej
wiedzy logicznej o przekształcanej formule, naleŜy najpierw, korzystając z praw
N.1-N.22, wyprowadzać przed formułę kwantyfikatory egzystencjalne
informacji. A oto przykład wskazujący na pierwszeństwo dla kwantyfikatora
egzystencjalnego:
Oto pierwszy schemat rozumowania:
1.
(∀xA(x) ∨ ∃yB(y) ),
2.
∀x (A(x) ∨ ∃y B(y))
(1, prawo N.10),
3.
∀x∃y (A(x) ∨ B(y))
(2, prawo N.15),
1
4.
∀x (A(x) ∨ B(f1 (x)))
(3,redukcja kwantyfikatora∃y)
.
A oto drugi schemat rozumowania:
1. (∀xA(x) ∨ ∃yB(y) ),
2. ∃ y (∀x A(x) ∨ B(y))
(1, prawo N.15),
3. ∃y ∀x (A(x) ∨ B(y))
(2, prawo N.10),
(3, reguła (EX)).
4. ∀x (A(x) ∨ B(c))
Jak widać drugi schemat rozumowania nie ogranicza doboru termu do
zaleŜności od argumentu x1, nie powoduje więc zuboŜenia wiedzy logicznej.
Do ograniczenia wiedzy logicznej prowadzą takŜe formuły:
∀x(A(x) ∧ B(x) ),
∃x(A(x) ∨ B(x) ),
gdyŜ moŜemy je zastąpić bardziej bogatymi w wiedzę równowaŜnymi
formułami:
(∀xA(x) ∧∀yB(y) ),
(∃xA(x) ∨ ∃yB(y) ).
HIPOTEZA (o rozstrzygalności, heurystyczna)
KaŜde rozumowanie, które nie ogranicza wiedzy logicznej jest rozstrzygalne –
prowadzi do prawdy (tezy) lub do jej odrzucenia!
Niestety, do dzisiaj nikt nie próbował podejść do problemu rozstrzygalności od
strony dąŜenia do niezubaŜania wiedzy logicznej.
Przykład 2.2.2 (redukcji kwantyfikatorów egzystencjalnych)
Na podstawie Metatwierdzenia 2.2.1 istnieje interpretacja równowaŜności
wszystkich poniŜej wypisanych formuł.
∃x1∃x2∀x3∀x4∃x5∃x6∀x7 A(x1,x2,x3,x4,x5,x6,x7),
1.
2.
∀x3∀x4∃x5∃x6∀x7 A(c1,c2,x3,x4,x5,x6,x7),
3.
∀x3∀x4 ∃x6∀x7 A(c1,c2,x3,x4,f12(x3 x4),x6,x7),
4.
∀x3∀x4 ∀x7 A(c1,c2,x3,x4,f12(x3 x4), f22(x3 x4),x7).
Definicja 2.2.3 (formuły w postaci klauzulowej)
Dla dowolnie wybranej formuły zamkniętej, formułę o postaci normalnej, której
matryca jest koniunkcją alternatyw literałów i która moŜe zawierać tylko
kwantyfikatory generalne, nazywamy postacią klauzulową wybranej formuły.
Alternatywy literałów występujące w postaci klauzulowej nazywamy
klauzulami.
Algorytm sprowadzania do postaci klauzulowej
1.
Sprowadzamy formułę do postaci normalnej zgodnie z podanym
algorytmem normalizacji.
2.
Wynikiem normalizacji jest formuła, w której kwantyfikatory
egzystencjalne, o ile istnieją, oraz występują na początku postaci
normalnej, to opuszczamy je zgodnie z regułą (EX). Pozostałe
kwantyfikatory egzystencjalne redukujemy wykorzystując redukcję
Skolema. PoniewaŜ matryca jest koniunkcją alternatyw literałów. Więc
po skolemowskiej redukcji kwantyfikatorów otrzymujemy postać
klauzulową, w której alternatywy koniunkcji są klauzulami.
Podane algorytmy normalizacji i skolemowskiej redukcji kwantyfikatorów
wskazują, Ŝe zachodzi
Metatwierdzenie 2.2.3 (Skolema)
Dla dowolnej formuły zamkniętej logiki pierwszego rzędu (z termami i
identycznością) istnieje postać klauzulowa tej formuły.
Więcej,
Metatwierdzenie 2.2.4
Jeśli podczas normalizacji formuły zamkniętej, nie zawierającej na początku
Ŝadnych kwantyfikatorów, kaŜdy kwantyfikator egzystencjalny za kaŜdym razem
moŜna wyciągać przed koniunkcje lub alternatywę, która ten kwantyfikator
zawiera, wcześniej niŜ wyciąga się kwantyfikator generalny tam zawarty, to
istnieje postać normalna tej formuły, taka Ŝe kwantyfikatory egzystencjalne
występują tylko na jej początku.
A stąd wynika
Metatwierdzenie 2.2.4 (Skolema dla rachunku kwantyfikatorów)
Dla dowolnej formuły zamkniętej rachunku kwantyfikatorów, której
normalizację charakteryzuje metatwierdzenie 2.2.3, istnieje postać klauzulowa
tej formuły, będąca formułą rachunku kwantyfikatorów.
Przykład 2.2.3 (sprowadzenie formuły do postaci klauzulowej)
Z przykładu 2.2.1 wiemy, Ŝe postacią normalną formuły
((∃x1 P11(x1) ⇒ ∃x1∃x2 P12(x1,x2)) ∧∀x2 (¬∃x1 P11(x1) ∨ ¬∃x1 P12(x1,x2))),
jest formuła
∀x1∃x3 ∀x2∃x5 ∀x4 ( (¬P11(x1) ∨ P12(x3,x5)) ∧ (¬P11(x1) ∨ ¬P12(x4,x2))).
Stosując redukcję kwantyfikatorów egzystencjalnych otrzymujemy formułę w
postaci klauzulowej
∀x1 ∀x2 ∀x4 ( (¬P11(x1) ∨ P12(f11( x1),f12(x1, x2))) ∧ (¬P11(x1) ∨ ¬P12(x4,x2))).
Umowa notacyjna:
1) postać klauzulową zapisujemy jako rodzinę zbiorów literałów występujących
w klauzulach. Np. zamiast powyŜszej formuły piszemy:
{ {¬P11(x1) , P12(f11( x1),f12(x1, x2))}, {¬P11(x1) , ¬P12(x4,x2)}}.
2)dowolna klauzula napisana w notacji 1) moŜe być zapisana w postaci
{¬A1,¬A2,…, ¬Ak, B1, B2,…, Bm}.
gdzie formuły Ai, Bj są atomowe, co w standardowym zapisie daje postać
( (¬A1 ∨ ¬A2 ∨ …∨ ¬Ak)∨ ( B1∨ B2∨ …∨ Bm))
lub postać jej równowaŜną
(¬(A1 ∧ A2 ∧ …∧ Ak)∨ ( B1∨ B2∨ …∨ Bm)),
a stosując znak implikacji
( (A1 ∧ A2 ∧ …∧ Ak)⇒ ( B1∨ B2∨ …∨ Bm)).
3) Gdy przyjmiemy, Ŝe będzieny oznaczać znak koniunkcji przecinkiem, znak
alternatywy średnikiem, a implikacji A⇒B nadamy postać B :- A, to klauzulę
będziemy modli zapisać w postaci
B1 ; B2 ; …; Bm :- A1 , A2 , …, Ak .
W przypadku, gdy nie początkowej postaci klauzuli nie wystąpią negacje (k=0),
to klauzulę zapiszemy
B1 ; B2 ; …; Bm :- .
Gdy natomiast będą występowały same negacje atomów, to
:- A1 , A2 , …, Ak .
4) W przypadku m=1 klauzulę będziemy nazywali klauzulą hornowską
(klauzule hornowskie zostaną szerzej omówione w rozdziale 3).
2.3 Modele Herbranda
PokaŜemy teraz, jak moŜna wykorzystać funkcję interpretacji formuł oraz
postacie klauzulowe formuł do efektywnego sprawdzania tautologiczności
formuł i dowodzenia formuł. Z definicji interpretacji formuł, definicji postaci
klauzulowej oraz metatwierdzeń 2.2.1 i 2.2.3 wynika
Metatwierdzenie 2.3.1
Niech A’ jest postacią klauzulową formuły A, a A’’ postacią klauzulową ¬A.
Wtedy tautologiami są formuły:
(A’ ⇒ (A ⇔ A’)).
((A”⇒ fałsz) ⇒ A).
Formuły o pierwszej postaci będą słuŜyły do sprawdzania tautologiczności
(dowodzenia) metodą wprost. PoniewaŜ przyjęliśmy, jako bardziej efektywną,
metodę sprawdzania niewprost (dowodzenia niewprost), więc schemat drugi
zakładający sprowadzenie do postaci klauzulowej negacji danej formuły A, a
następnie sprawdzenie czy postać klauzulowa A’’ implikuje sprzeczność,
odpowiada metodzie niewprost. Aby zastosować ten schemat rozumowania i z
formuły A’’ otrzymać sprzeczność w metodzie sprawdzania (dowodzenie w
systemie tabel decyzyjnych) musimy, jeśli A’’ nie jest koniunkcją formuł
sprzecznych, skorzystać z zasady (ZALLX) opuszczania kwantyfikatorów
generalnych, podstawiając za zmienne takie termy ustalone (argumenty tych
termów są tylko stałymi), Ŝe w wyniku podstawienia formuła klauzulowa,
wcześniej sprowadzona do postaci alternatywy koniunkcji literałów, uzyska
postać taką, Ŝe kaŜdy człon alternatywy będzie zawierał sprzeczne literały.
Dojście do sprzecznych literałów przez podstawianie ustalonych termów przy
opuszczaniu kwantyfikatorów generalnych wymaga stosowania takich termów z
przestrzeni Herbranda, Ŝe zbudowane są one jedynie z symboli funkcyjnych
zawartych w postaci klauzulowej badanej formuły, ze stałych występujących w
tej postaci klauzulowej, a jeŜeli tych stałych tam nie ma wystarczy dołączyć co
najwyŜej jedną nową stałą, której nie ma w rozwaŜanej postaci klauzulowej. Dla
rozwaŜanych formuł wystarcza takie ograniczenie przestrzeni Hebranda dla
termów systemu logicznego oraz takie ograniczenie bazy Herbranda, Ŝe
wszystkie wyraŜenia mogą być wyprodukowane za pomocą stosownych regół
produkcji gramatyki języka logiki tylko ze znaków, z których zbudowane są
rozwaŜane formuły. Zasadna jest więc następująca definicja:
Definicja 2.3.1 (uniwersum i baza Herbranda zbioru formuł)
Niech S będzie zbiorem klauzul, CS zbiorem symboli stałych ze zbioru C, które
występują w klauzulach ze zbioru S, FS zbiorem symboli funkcyjnych
występujących w tych klauzulach, a PS zbiorem predykatów występujących w
rozwaŜanych klauzulach. Uniwersum Herbranda HS zbioru S definiujemy,
jako pewne zbiory termów, indukcyjnie:
dla c∈ CS,
c ∈HS
f(t1,…,tn) ∈ HS
dla f∈FS, ti ∈ HS.
JeŜeli w klauzulach z S nie występuje Ŝadna stała, indukcyjna definicja HS
rozpoczyna się od wprowadzenia dowolnej stałej c.
Bazą Herbranda BS zbioru S określa równość
BS = {P(t1,…,tn): P∈ PS, ti ∈ HS}.
Definicja 2.3.2 (interpretacja Herbranda)
Interpretacją Herbranda v zbioru S klauzul nazywamy interpretację w
dziedzinie D =<D, R, F, D0>, której dziedziną D jest uniwersum HS
Herbranda zbiorów S, a stałym i symbolom funkcyjnym są przyporządkowane te
same symbole:
v(c) = c,
v(f(t1,...,tn))= f(v(t1),...,v(tn)).
A więc D = HS, F = FS, D0 = CS .
Ponadto, R ={R: ∃P∈PS (R={< t1,...,tn>: v(P(t1,...,tn))=1}} .
Oznacza to, Ŝe
v(P) = R={< t1,...,tn>: v(P(t1,...,tn))=1}, dla P∈PS.
Wprowadzone pojęcia
metatwierdzeń:
umoŜliwiają
proste
uzasadnienie
poniŜszych
Metatwierdzenie 2.3.2
Niech S jest zbiorem klauzul. Zbiór klauzul S ma interpretację wtw, gdy ma
interpretację Herbranda.
Metatwierdzenie 2.3.3 (pierwsze twierdzenie Herbranda o sprzeczności
klauzul)
Zbiór klauzul S jest sprzeczny wtw, gdy po sprowadzeniu tego zbioru (jako
koniunkcji alternatyw literałów) do postaci alternatywy koniunkcji literałów w
kaŜdym członie alternatywy występuje para sprzecznych literałów (para postaci
A, ¬A).
Zatem, wobec metawierdzenia 2.3.1
Metatwierdzenie 2.3.4 (twierdzenie Herbranda o dowodzeniu formuł)
Dowód formuły zamkniętej A rachunku kwantyfikatorów istnieje wtw, gdy dla
postaci klauzulowej formuły ¬A istnieje takie podstawienie zmiennych tej
formuły termami ustalonymi (termami bez zmiennych), Ŝe powstała formuła w
kaŜdej interpretacji Herbranda będzie fałszywa. Więcej, sprzeczność zbioru
ustalonych klauzul moŜna wykazać korzystając tylko z praw i reguł
wnioskowania rachunku zdań.
Zgodnie z wprowadzoną wiedzą o dowodzeniu formuł w róŜnych systemach
dowodzenia (dla róŜnych zbiorów reguł wnioskowania), efektywnie
prowadzony dowód moŜe przebiegać według planu:
• zaneguj formułę,
• przekształć ja do postaci normalnej, wyciągając najpierw przed formułę
kwantyfikatory egzystencjalne, a dopiero gdy wobec prze N.1-N.22 nie
moŜna ich wyciągnąć naleŜy prawa te stosować do kwantyfikatorów
generalnych,
• zredukuj zmienne egzystencjalne,
• uzyskana matrycę postaci normalnej doprowadź do klauzulowej,
• przez stosowne podstawienie termów ustalonych za zmienne utwórz
zbiór klauzul ustalonych,
• sprawdź, czy zbiór klauzul ustalonych jest sprzeczny w kaŜdej
interpretacji Herbranda.
Aby usprawnić wykonanie dwu ostatnich punktów „planu dowodu”, w
następnych podrozdziałach omówimy pewną metodę podstawiania ustalonych
termów za zmienne oraz sformułujemy ogólną wersję reguły rezolucji, co będzie
słuŜyło ustalaniu kiedy zbiór klauzul (głównie ustalonych) jest sprzeczny.
2.4 Podstawienia i ich uzgadnianie
Rozpocznijmy poszukiwanie skutecznej metody podstawiania w dowodach
formuły systemu tabel semantycznych, od przykładu dowodu formuły:
Φ = (∀x1(P11(f12(x1,c1)) ⇒ P21(x1)) ⇒ (∃x1P11(x1) ⇒ ∃x1 P21(f12(x1,c1)))).
Dowód.
1.
¬(∀x1(P11(f12(x1,c1)) ⇒ P21(x1)) ⇒ (∃x1P11(f12(x1,c1)) ⇒ ∃x1 P21(x1)))
(zał. dow. nwp.)
1 2
1
2.
∀x1(P1 (f1 (x1,c1)) ⇒ P2 (x1))
(1, negacja implikacji (NC))
1 2
1
3.
¬(∃x1P1 (f1 (x1,c1)) ⇒ ∃x1 P2 (x1))
(1, negacja implikacji (NC))
1 2
4.
∃x1P1 (f1 (x1,c1))
(3, negacja implikacji (NC))
1
5.
¬∃x1 P2 (x1)
(3, negacja implikacji (NC))
1 2
6.
P1 (f1 (c2,c1))
(4, opuszczanie ∃ (EX))
1 2
1
7.
(P1 (f1 (c2,c1)) ⇒ P2 (c2))
(2, opuszczanie ∀ (ALLX),
c2/x1 )
¬P11(f12(c2,c1))
(7, zał, dod.)
8.1
8.2
sprz. 8.1 i 6
8.
9.1
9.2
9.3
9.
¬P11(f12(c2,c1)) ⇒ fałsz
1
(8.1->8.2)
(7, zał. dod.)
(5, reg. negacji ∃ = (NEX),(c2/x1),
P2 (c2)
¬P21(c2)
sprz. 9.1 i 9.2
P21(c2) ⇒ fałsz
(9.1->9,3)
sprz. na w kaŜdym rozgałęzieniu dowodu
(7, 8, 9)
Wykonajmy dowód formuły Φ sprowadzając ją najpierw do postaci
klauzulowej:
Dowód*:
1.
¬(∀x1(P11(f12(x1,c1)) ⇒ P21(x1)) ⇒ (∃x1P11(f12(x1,c1)) ⇒ ∃x1 P21(x1)))
(zał. dow. nwp.)
1 2
1
1 2
2.
(∀x1(¬P1 (f1 (x1,c1)) ∨ P2 (x1)) ∧ ¬(¬∃x1P1 (f1 (x1,c1)) ∨ ∃x1 P21(x1)))
(1, reguła negacji implikacji (NC))
1 2
1
3.
(∀x1(¬P1 (f1 (x1,c1)) ∨ P2 (x1)) ∧ (¬¬∃x1P11(f12(x1,c1)) ∧ ¬∃x1 P21(x1)))
(2, negacja implikacji w drugim członie koniunkcji)
1 2
4.
(∀x1(¬P1 (f1 (x1,c1)) ∨ P21(x1)) ∧ (∃x1P11(f12(x1,c1)) ∧ ∀ x1¬ P21(x1)))
(3, negacja negacji (NN) oraz prawo de Morgana N.6)
1 2
5.
(∀x1(¬P1 (f1 (x1,c1)) ∨ P21(x1)) ∧ ∃x1∀x2 (P11(f12(x1,c1)) ∧ ¬ P21(x2)))(4,
wyciąganie w drugim członie kwantyfikatora – prawo N.11)
6.
∃x3(∀x1(¬P11(f12(x1,c1)) ∨ P21(x1)) ∧ ∀x2 (P11(f12(x3c1)) ∧ ¬ P21(x2)))
(5, wyciąganie z koniunkcji kwantyfikatora egzystencjalnego –
prawo N.16)
7.
∃x3 ∀x1 ((¬P11(f12(x1,c1)) ∨ P21(x1)) ∧ ∀x2 (P11(f12(x3,c1)) ∧ ¬ P21(x2)))
(6, wyciąganie z koniunkcji kwantyfikatora generalnego - N.8)
8.
∃x3 ∀x1∀x2 ((¬P11(f12(x1,c1)) ∨ P21(x1)) ∧ (P11(f12(x3,c1)) ∧ ¬ P21(x2)))
(7, wyciąganie z koniunkcji kwantyfikatora generalnego - N.9)
9.
∀x1∀x2 ((¬P11(f12(x1,c1)) ∨ P21(x1)) ∧ (P11(f12(c2,c1)) ∧ ¬ P21(x2)))
(8, opuszczanie kwantyfikatora egzystencjalnego – reguła (EX))
10. ∀x1∀x2 ((¬P11(f12(x1,c1)) ∧ (P11(f12(c2,c1)) ∧ ¬ P21(x2)) ∨ (P21(x1)) ∧
(P11(f12(c2,c1)) ∧ ¬ P21(x2)))(9, rozdzielenie alternatywy względem
koniunkcji)
11. ((¬P11(f12(c2,c1)) ∧ (P11(f12(c2,c1)) ∧ ¬ P21(c2)) ∨ (P21(c2)) ∧ (P11(f12(c2,c1))
∧ ¬ P21(c2)))
(10, opuszczenie kwantyfikatorów generalnych – podstawienia c2/x1, c2/x2)
12.1 (¬P11(f12(c2,c1)) ∧ (P11(f12(c2,c1)) ∧ ¬ P21(c2))
(11, zał.dod.)
1 2
12.2 ¬P1 (f1 (c2,c1))
(12.1, (K))
1 2
12.3 P1 (f1 (c2,c1))
(12.1, (K))
1
12.4 ¬ P2 (c2)
(12.1, (K))
12.5 sprz. 12.2 z 12.3
(12.1->12.5)
13. (¬P11(f12(c2,c1)) ∧ (P11(f12(c2,c1)) ∧ ¬ P21(c2))⇒ fałsz
13.1
13.2
13.3
13.4
13.5
13.
(P21(c2) ∧ (P11(f12(c2,c1)) ∧ ¬ P21(c2))
P21(c2)
P11(f12(c2,c1))
¬ P21(c2)
sprz. 13.2 z 13.4
(P21(c2) ∧ (P11(f12(c2,c1)) ∧ ¬ P21(c2)) ⇒ fałsz
sprz.
(11, zał.dod.)
(13.1 (K))
(13.1 (K))
(13.1 (K))
(13.1->13.5)
W obu metodach dowodzenia otrzymujemy te same sprzeczne literały postaci A,
¬A, a więc dokonano tych samych ustaleń termów i formuł prowadzących do
sprzeczności. WaŜne okazało się wybranie właściwego podstawienia termów
ustalonych za zmienne tak, aby uzyskać sprzeczność właściwych literałów za
zmienne.
Umowa notacyjna 2.4.1
Podstawianie termu za zmienne pojawiało się, jak dotąd, w wywodach
logicznych w czterech przypadkach: przy zastosowaniu skolemowskiej redukcji
kwantyfikatorów egzystencjalnych, przy wykorzystaniu reguł wnioskowania
(EX) oraz (NALLX), przy korzystaniu z praw normalizacyjnych N.1-N.22. Do
opisu elementarnego w wywodzie podstawienia termu t za zmienną x
stosowaliśmy skrótowy zapis (t/x), dlatego tę notację zastosujemy jako
wyjściową
w określeniu podstawienia złoŜonego (t1/x1, t2/x2,…,tn/xn)
rozumianego jako ciąg kolejno wykonywanych podstawień (t1/x1),
(t2/x2),…,(tn/xn). Zgodnie z teoriomnogościowym opisem wiedzy logicznej,
naturalne będzie opisanie podstawienia jako funkcji przyporządkowującej
termom, formułom, oraz podstawieniom pewne termy, formuły lub
podstawienia. W celu wyraŜenia wartości tej funkcji, w zapisie wykonania
podstawienia, dogodnie będzie zamiast zapisu standardowego:
(t1/x1, t2/x2,…,tn/xn)(t), (t1/x1, t2/x2,…,tn/xn)(A), (t1/x1, t2/x2,…,tn/xn)(θ),
gdzie t jest dowolnym termem, A formułą, θ dowolnym podstawieniem, pisać
t(t1/x1, t2/x2,…,tn/xn), A(t1/x1, t2/x2,…,tn/xn), θ(t1/x1, t2/x2,…,tn/xn).
Zmiennymi oznaczającymi podstawienia będę symbole: θ,θ1,θ2,…,θi,….
Definicja 2.4.1 (podstawienia)
Niech zbiór Pds określony jest rekurencyjnie:
(P1) ε∈Pds
(P2) (t/x)∈ Pds, dla dowolnych t∈Term, x∈V,
(P3) θ:Term ∪ Form ∪ Pds → Term ∪ Form ∪ Pds, dla dowolnego θ∈Pds,
(P4) eε =e, dla dowolnego e∈ Term ∪ Form ∪ Pds,
(P5) t1(t2/x) = t1, gdy w termie t1 nie ma zmiennej x, dla t1,t2∈Term, x∈V,
(P6) t1(t2/x)∈Term, dla t1,t2∈Term, x∈V,
(P7) A(t/x) = A,
gdy w termie t1 nie ma wolnej zmiennej x, dla A∈Form, t∈Term, x∈V,
(P8) A(t/x)∈Form, dla t1,t2∈Term, x∈V,
(P9) jeśli (t1/x1, t2/x2,…,tn/xn)∈Pds, to (t1/x1, t2/x2,…,tn/xn, t/x)∈Pds,
dla t1, t2,…,tn, t∈Term, x1, x2,…,xn, x∈V,
(P10) jeśli θ1 = (t1/x1, t2/x2,…,tn/xn)∈Pds i θ2 = (t’1/x’1, t’2/x’2,…,t’k/x’k)∈Pds, to
θ1θ2 = (t1θ2/x1, t2θ2/x2,…,tnθ1/xn, t’1/x’1, t’2/x’2,…,t’k/x’k)∈Pds
(P8) zbiór Pds składa się tylko z elementów wyznaczonych przez (P1)-(P7).
Elementy zbioru Term ∪ Form ∪ Pds nazywamy wraŜeniami podstawialnymi,
krótko wyraŜeniami. Zbiór Pds nazywamy zbiorem wszystkich podstawień, a
jego elementy podstawieniami. Dla dowolnego zbioru wyraŜeń {e1,e2,…,en} i
podstawienia θ przyjmujemy umowny zapis: {e1,e2,…,en}θ = {e1θ,e2θ,…,enθ}.
Podstawienia, których wartości dla termów i formuł są termami i formułami
ustalonymi (tj. takimi w których nie występują zmienne), nazywamy
ustalającymi.
O wartości eθ dla ustalającego podstawienia θ oraz danego wyraŜenia e
mówimy, Ŝe jest instancją wyraŜenia e.
Unifikatorem zbioru wyraŜeń {e1,e2,…,en} nazywamy podstawienie θ takie, Ŝe
e1θ = e2θ = …= enθ, a więc zbiór {e1,e2,…,en}θ jest jednoelementowy.
Najbardziej ogólnym unifikatorem lub podstawieniem uzgadniającym
zbioru wyraŜeń {e1,e2,…,en} nazywamy podstawienie σ takie, Ŝe dla kaŜdego
unifikatora θ istnieje podstawienie θ’ spełniające równość: θ = σθ’. Proces
znajdowania podstawienia uzgadniającego zbioru wyraŜeń nazywamy
uzgodnienie tych wyraŜeń.
Łatwo pokazać, Ŝe
Metatwierdzenie 2.4.1 (o złoŜeniu podstawień)
PoniewaŜ podstawienia są funkcjami określonymi na zbiorze wyraŜeń, więc
utrzymujemy analogiczną własność jak dla składania funkcji:
dla dowolnych podstawień θ1, θ2, θ3 oraz dowolnego wyraŜenia e
(*)
(θ1θ2)θ3 = θ1(θ2θ3),
(**)
e(θ1θ2) = (eθ1)θ2,
dla dowolnego podstawienia (t1/x1, t2/x2,…,tn/xn) oraz dowolnego wyraŜenia e
(***)
e(t1/x1, t2/x2,…,tn/xn) =(…((e(t1/x1)) (t2/x2))…)(tn/xn)) .
Metatwierdzenie 2.4.2 (algorytm Robinsona znajdowania podstawienia
uzgadniającego)
Następujący algorytm pozwala dla dowolnego zbioru W formuł atomowych,
zbudowanych z tego samego predykatu i niekoniecznie jednakowych
argumentów, rozstrzygnąć istnienie podstawienia uzgadniającego wyraŜenia
tego zbioru:
1.
Dla k=0, Wk =W i σk = ε. Przechodzimy do kroku 2.
2.
Jeśli Wk nie jest jednoelementowy, to przechodzimy do kroku 3. W
przeciwnym wypadku uzgadniające podstawienie σ = σk i kończymy
realizację algorytmu.
3.
KaŜdą formułę atomową ze zbioru Wk rozwaŜamy jako łańcuch symboli
predykatu i argumentów, szukając odpowiadających sobie
argumentów, które moŜemy uzgodnić, tzn. szukając dla dwóch
róŜnych formuł numeru argumentu, dla którego w argumencie o tym
numerze w pierwszej formule znajduje się inny term niŜ w tym samym
miejscu w drugiej formule, a ponadto z wybranych termów jeden jest
zmienną, a drugi termem lub jeden z termów zawiera zmienne których
podstawienie pewnymi termami daje drugi term; naleŜy wyznaczyć te
róŜne zmienne x1, x2, …,xn oraz termy t1, t2, …,tn, które podstawione za
te zmienne dadzą w wyniku drugi term; w ten sposób znajdziemy
podstawienie θ :=(t1/x1, t2/x2,…,tn/xn) i przechodzimy do kroku k=4. W
przeciwnym wypadku kończymy poszukiwania.
4.
Dla wyznaczonego w kruku 4 podstawienia θ obliczamy σk+1=σkθ,
oraz Wk+1= Wkθ. Przyjmujemy k:= k+1 i przechodzimy dok roku 2.
Uwaga: powyŜszy algorytm moŜna stosować takŜe do
podstawienia uzgadniającego dla zbioru termów.
znajdowania
Przykład 2.4.1 (unifikatory i podstawienie uzgadniające)
Niech W = {P13(x1, c1,f11(f21(c1))), P13(x2, x3, f11(x4))}.
ZauwaŜmy, Ŝe pierwszy argument pierwszej formuły moŜemy uzgodnić z
pierwszym argumentem drugiej formuły przez podstawienie (x2/x1), w
przypadku drugich argumentów uŜyjemy podstawienia (c1/x3), a trzecich
argumentów podstawienia (f21(c1)/x4). Wtedy podstawieniem uzgadniającym jest
σ = (x2/x1, c1/x3, f21(c1)/x4), a podstawienie θ = (c2/x1, c1/x3, f21(c1)/x4) jest
unifikatorem.
Podstawienie σ ma dla podstawienia θ własność najogólniejszym unifikatora
zbioru W
θ = (c2/x1, c1/x3, f21(c1)/x4) = (x2/x1,c1/x3, f11(c1)/x4)(c2/x2) = σ(c2/x2).
PokaŜemy, Ŝe θ jest unifikatorem W.
Wθ ={P13(x1, c1,f11(f21(c1))), P13(x2, x3, f11(x4))}θ =
{P13(x1, c1,f11(f21(c1)))θ, P13(x2, x3, f11(x4))θ}.
P13(x1, c1,f11(f21(c1)))θ = P13(x1, c1,f11(f21(c1))) (c2/x1, c1/x3, f21(c1)/x4)=
=( ((P13(x1, c1,f11(f21(c1))) (c2/x1))(c1/x3))( f21(c1)/x4)) =
=( (P13(c2, c1,f11(f21(c1)))(c1/x3))( f21(c1)/x4)) =P13(c2, c1,f11(f21(c1)).
P13(x2, x3, f11(x4))θ = P13(x2, x3, f11(x4)) (c2/x1, c1/x3, f21(c1)/x4)=
=( ((P13(x2, x3, f11(x4)) (c2/x1))(c1/x3))( f21(c1)/x4)) =
=( (P13(x2, x3, f11(x4)) (c1/x3))( f21(c1)/x4)) =
=( P13(x2, c1, f11(x4)) ( f21(c1)/x4)) = P13(c2, c1,f11(f21(c1)).
Stąd zbiór Wθ ={ P13(c2, c1,f11(f21(c1))} jest jednoelementowy, a więc θ jest
unifikatorem zbioru formuł W.
Przykład 2.4.1 (zastosowanie algorytmu Robinsona)
Niech W = {P13(x2, f21(x3), f11(x1), P13(c1, x1, f11(f21(x2)))}.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
σ0 = ε, W0 = W.
W0 nie jest jednoelementowy.
θ := (c1/x2)
σ1 = σ0θ =εθ = θ =(c1/x2),
W1 = W0θ = {P13(x2, f21(x3), f11(x1), P13(c1, x1, f11(f21(x2)))} (c1/x2) =
= {P13(c1, f21(x3), f11(x1), P13(c1, x1, f11(f21(c1)))}.
W1 nie jest jednoelementowy.
θ := (f21( x3)/x1)
σ2 = σ1θ =(x2/c1) (f21( x3)/x1) =(x2/c1, f21( x3)/x1 ),
W2 = W1θ ={P13(c1, f21(x3), f11(x1), P13(c1, x1, f11(f21(c1)))} (f21( x3)/x1) =
= {P13(c1, f21(x3), f11(f21( x3)), P13(c1, f21( x3), f11(f21(c1)))}.
W2 nie jest jednoelementowy.
θ := (c1/x3)
σ3 = σ2θ =(x2/c1, f21( x3)/x1 ) (c1/x3) = (x2/c1, f21( x3)/x1 , c1/x3 ),
W3 = W21θ =
= {P13(c1, f21(x3), f11(f21( x3)), P13(c1, f21( x3), f11(f21(c1)))} (c1/x3)=
= {P13(c1, f21(c1), f11(f21(c1)), P13(c1, f21(c1), f11(f21(c1)))} =
= {P13(c1, f21(c1), f11(f21(c1)) }.
W3 jest jednoelementowy, a więc podstawieniem uzgadniającym jest
σ = (x2/c1, f21( x3)/x1 , c1/x3 ).
W dowodzeniu formuł metodą rezolucji poŜyteczne przy szukaniu podstawienie
uzgadniającego są proste do wykazania stwierdzenia
Metatwierdzenie 2.4.3
a) Dla zbioru dowolnego C literałów ustalonych (bez zmiennych) jedynym
podstawieniem uzgadniającym jest podstawienie identycznościowe ε, takie
Ŝe Cε=C.
b) Niech literał B powstaje z literału A przez podstawienie do literału A w
miejsce zmiennej x termu t. Wtedy (t/x) jest podstawieniem uzgadniającym
zbioru {A,B}.
Metatwierdzenie 2.4.4
Dla dowolnej tezy A w postaci klauzulowej i dowolnego podstawienia θ, wynik
Aθ podstawienia θ klauzuli jest tezą.
2.5 Metoda rezolucji
Algorytm Robinsona uzgadniania zbioru formuł umoŜliwia wprowadzenie
metody dowodzenia zwanej metodą rezolucji. Metoda ta stosowana jest w
komputerowej automatyzacji dowodów. W niniejszym podrozdziale
zaprezentujemy podstawy tej metody.
Definicja 2.5.1 (kolidowania zbiorów literałów.
Niech zbiór L = {l1, l2, …, ln } jest zbiorem literałów (formuł atomowych lub ich
negacji), wtedy zbiór literałów L* = {(l1)*, (l2)*, …, (ln)* }, gdzie operacja (*)
określona jest wzorem:
¬a, dla l=a, a∈Atom
(l)* =
a, dla l=¬a, a∈Atom
nazywamy zbiorem całościowo kolidującym ze zbiorem L.
Dwa zbiory literałów C1, C2 nazywamy kolidującymi względem zbiorów
literałów L1⊆C1, L2⊆C2 , jeśli dla zbioru L1∪(L2)* istnieje podstawienie
uzgadniające σ.
Mając w dowodzie dwie klauzule o schematach C1 = A∨ L1, C2 =B ∨ L2 takie,
Ŝe istnieje podstawienie uzgadniające σ zbioru formuł atomowych zawartych w
L1 lub L2 oraz L1σ ⇔ ¬L2σ, moŜemy do dowodu dołączyć nową formułę w
postaci klauzulowej: (C1σ ∧ C2σ). Formuła ta jest wtedy równowaŜna formule:
(Aσ ∨ L1σ) ∧ (Bσ ∨ ¬L1σ). PoniewaŜ, wobec praw logicznych zachodzi
((Aσ ∨ L1σ) ∧ (Bσ ∨ ¬L1σ)) ⇒ (Aσ ∨ Bσ),
więc jako wniosek do dowodu moŜemy dołączyć
(Aσ ∨ Bσ).
Na podstawie powyŜszego schematu wnioskowania moŜemy wprowadzić
następującą definicję
Definicja 2.5.2 (rezolucji )
Niech C1, C2 będą klauzulami określonymi jako zbiory literałów i niech L1⊆C1,
L2⊆C2 są zbiorami literałów takimi, Ŝe istnieje dla zbioru L1∪(L2)*
podstawienie uzgadniające σ. Wtedy, klauzulę
Rez(C1,C2) = (C1σ - L1σ) ∪ (C2σ - L2σ),
nazywamy rezolwentą klauzul C1,C2.
Regułę rezolucji określa następujący schemat
C1, C2
(C1σ − L1σ ) ∪ (C2σ − L2σ )
Metatwierdzenie 2.5.1
Dla dowolnej formuły atomowej L,
sprzeczność L ∧ ¬L wtw, gdy Rez({L},{¬L}) = ∅.
Metatwierdzenie 2.5.2
JeŜeli w dowodzie niewprost
dowolnej formuły zamknięte,j z postaci
klauzulowej negacji tej formuły, stosując, jako jedyną regułę wnioskowania
regułę rezolucji, pewien podzbiór zbioru klauzul postaci klauzulowej
przekształcimy w zbiór pusty, to dowodzona formuła jest tezą.
Z powyŜszych definicji i metatwierdzeń oraz wcześniej wprowadzonych metod
dowodzenia otrzymujemy:
Algorytm: ogólna metoda rezolucji
1. zaneguj formułę,
2. przekształć ja do postaci normalnej, wyciągając najpierw przed formułę
kwantyfikatory egzystencjalne, a dopiero gdy wobec prze N.1-N.22 nie
moŜna ich wyciągnąć naleŜy prawa te stosować do kwantyfikatorów
generalnych,
3. zredukuj zmienne egzystencjalne,
4. uzyskana matrycę postaci normalnej doprowadź do klauzulowej,
5. sprawdź, czy istniej podzbiór W zbioru wszystkich klauzul w uzyskanej
postaci klauzulowej negacji badanej formuły, który jest sprzeczny, tj. czy
moŜna przekształcając ten zbiór za pomocą reguły rezolucji otrzymać
ciąg zbiorów klauzul: W=W1, W2,...,Wk = ∅ ; jeśli tak jest to zbiór
klauzul jest sprzeczny, a więc na podstawie metatwierdzenia 2.5.1 z
analizowanej postaci klauzulowej negacji dowodzonej formuły wynika
sprzeczność, zatem dowodzona formuła jest tezą. Przekształcenie
zbiorów z ciągu klauzul Wi dokonujemy w następujący sposób:
wybieramy ze zbioru dwie klauzule C1, C2, dla których moŜemy
zastosować regułę rezolucji, a więc uzyskujemy nową klauzulę
C=Rez(C1,C2), a następnie wyznaczamy Wi+1 =(Wi – {C1, C2}) ∪ {C}.
Przykład 2.5.1 (metoda rezolucji dla schematów rachunku zdań)
Sprowadzając do postaci klauzulowej i korzystając z reguły rezolucji udowodnij
formułę
(((P11(c1) ⇒ P22(c1, c2)) ∧ (P22(c1, c2) ⇒ P31(c2))) ⇒ (P11(c1) ⇒ P31( c2))).
Dowód. (algorytm ogólnej metody rezolucji)
1. ¬(((P11(c1) ⇒ P22(c1, c2)) ∧ (P22(c1, c2) ⇒ P31(c2))) ⇒ (P11(c1) ⇒ P31( c2)))
(zał. dow. nwp)
1
2
2
1
2. ((¬P1 (c1) ∨ P2 (c1, c2)) ∧ (¬P2 (c1, c2) ∨ P3 (c2)) ∧ P11(c1) ∧ ¬P31( c2))
(1, prawa normalizacji N.1-N6, reguła ekstensjonalności dla
równowaŜności), jest to postać klauzulowa)
3. Realizujemy punkt 5 algorytmu ogólnej metody rezolucji:
W = W1 =
={{¬P11(c1), P22(c1, c2)}, {¬P22(c1, c2), P31(c2)},{ P11(c1)},{ ¬P31( c2))}},
C1 := {¬P11(c1), P22(c1, c2)}, C2 := { P11(c1)} są kolidujące względem
zbiorów L1 = {¬P11(c1)}, L2 = {P11(c1)},
σ := ε
(dla literałów ustalonych jedynym podstawieniem
uzgadniającym jest podstawienie identycznościowe ε, takie Ŝe
Cε=C),
C:= Rez(C1, C2) = (C1σ - L1σ) ∪ (C2σ - L2σ) = (C1ε - L1ε) ∪ (C2ε - L2ε)
= (C1 - L1) ∪ (C2 - L2) =
1
= ({¬P1 (c1), P22(c1, c2)} - {¬P11(c1)}) ∪ ({P11(c1)} - {P11(c1)}) =
= {P22(c1, c2)}.
4. W2 = (W1 – {C1,C2}) ∪ {C} =
= {{P22(c1, c2)}, {¬P22(c1, c2), P31(c2)},{ ¬P31( c2))},
C1:= {¬P22(c1, c2), P31(c2)}, C2 :={ ¬P31( c2))} są kolidujące
względem zbiorów L1 = {P31(c2)}, L2 = {¬P31(c2)},
σ: = ε,
C:= Rez(C1, C2) = (C1σ - L1σ) ∪ (C2σ - L2σ) = (C1ε - L1ε) ∪ (C2ε - L2ε)
= (C1 - L1) ∪ (C2 - L2) =
2
= ({¬P2 (c1, c2), P31(c2)} - {P3(c2) ∪ ({¬P3(c2} - {¬P3(c2}) =
= {¬P22(c1, c2)}.
5. W3= (W2– {C1,C2}) ∪ {C}= {{P22(c1, c2)}, {¬P22(c1, c2)}},
C1 := L1 = { P22(c1, c2)},
C2 := L2 = {¬ P22(c1, c2)},
σ := ε,
C:= Rez(C1, C2) = (C1σ - L1σ) ∪ (C2σ - L2σ) = (C1ε - L1ε) ∪ (C2ε - L2ε)
= (C1 - L1) ∪ (C2 - L2) = ∅.
6. W4 = (W3 – {C1,C2}) ∪ {C} =∅.
7. sprzeczność
Przykład
2.5.1
(metoda
rezolucji
dla
schematów
rachunku
kwantyfikatorów)
Sprowadzając do postaci klauzulowej i korzystając z reguły rezolucji udowodnij
formułę (∀x1(P11(x1) ⇒ P21(x1)) ⇒ (∃x1P11(x1) ⇒ ∃x1P21(x1))).
Dowód.
1. ¬(∀x1(P11(x1) ⇒ P21(x1)) ⇒ (∃x1P11(x1) ⇒ ∃x1P21(x1))) (zał.dow.nwp)
2.
(∀x1(¬P11(x1) ∨ P21(x1)) ∧ (∃x1P11(x1) ∧ ∀x1¬P21(x1)))
(1, prawa normalizacji N.1-N6, reguła ekstensjonalności dla
równowaŜności)
3. (∀x1(¬P11(x1) ∨ P21(x1)) ∧ ∃x2∀x3 (P11(x2) ∧ ¬P21(x3)))
(2, prawo normalizacji N.22 dla drugiego członu koniunkcji)
4. ∃x2 (∀x1(¬P11(x1) ∨ P21(x1)) ∧ ∀x3 (P11(x2) ∧ ¬P21(x3)))
(3, prawo normalizacji N.14 dla głównej koniunkcji)
5.
∃x2∀x1∀x3 ( (¬P11(x1) ∨ P21(x1)) ∧ P11(x2) ∧ ¬P21(x3))
(4, prawa normalizacji N.8, N.9 dla głównej koniunkcji)
6.
∀x1∀x3 ( (¬P11(x1) ∨ P21(x1)) ∧ (P11(c2) ∧ ¬P21(x3)))
(5, reguła (EX, otrzymujemy postać klauzulową)
7. Realizujemy punkt 5 algorytmu ogólnej metody rezolucji z uwzględnieniem
metatwierdzeń 2.4.3, 2.4.4:
W = W1 = {{¬P11(x1) , P21(x1)}, { P11(c2)} ,{¬P21(x3)}},
8.
9.
C1 := {¬P11(x1) , P21(x1)}, C2 := { P11(c2) } są kolidujące względem
zbiorów L1={¬P11(x1)}, L2 = { P11(c2)}, podstawieniem uzgadniającym
dla L1 ∪ (L2)* = { ¬P11(x1) ¬P11(c2)} jest podstawienie
σ :=(c2/x1),
C:= Rez(C1, C2) = (C1σ - L1σ) ∪ (C2σ - L2σ) =
= (C1(c2/x1) - L1(c2/x1)) ∪ (C2(c2/x1)- L2(c2/x1)) =
=({¬P11(c2) , P21(c2)} - {¬P11(c2)}) ∪ ({ P11(c2)} - { P11(c2)}) =
= {P21(c2)}}.
W2 = (W1 – {C1,C2}) ∪ {C} ={{P21(c2)} , {¬P21(x3)}},
C1 := L1 := {P21(c2)} , C2 := L2 := {¬P21(x3)}}, a σ := (c2/x3),
C:= Rez(C1, C2) = (C1σ - L1σ) ∪ (C2σ - L2σ) =
= (C1(c2/x3) - L1(c2/x3)) ∪ (C2(c2/x3)- L2(c2/x3)) =
= ({P21(c2)} - {P21(c2)}) ∪ ({¬P21(c2)} - {¬P21(c2)} = ∅.
sprzeczność.
c.n.d.

Podobne dokumenty