• Nie Znaleziono Wyników

System Hilberta

N/A
N/A
Protected

Academic year: 2021

Share "System Hilberta"

Copied!
21
0
0

Pełen tekst

(1)

1 System Hilberta

2 Rezolucja

(2)

System ma nast¦puj¡ce schematy aksjomatów i reguª wnioskowania:

A ⇒ (B ⇒ A) (1)

(A ⇒ (B ⇒ C)) ⇒ ((A ⇒ B) ⇒ (A ⇒ C)) (2) A ⇒ (B ⇒ (A ∧ B)) (3)

(A ∧ B) ⇒ A (4)

(A ∧ B) ⇒ B (5)

A ⇒ (A ∨ B) (6)

B ⇒ (A ∨ B) (7)

(A ⇒ C) ⇒ ((B ⇒ C) ⇒ ((A ∨ B) ⇒ C)) (8) (¬A ⇒ ¬B) ⇒ (B ⇒ A)) (9)

0 ⇒ A (10)

MP A ⇒ B, A B

(3)

Jak wida¢ wyst¦puje tu reguªa wnioskowania Modus Ponens, czyli reguªa odrywania. Sªowo schemat oznacza, »e litery A, B, C mog¡

zast¦powa¢ dowolne zdania zªo»one.

Denicja

Dowodem zdania z w systemie Hilberta nazywamy ci¡g zda«

z1,z2, . . . ,zn=z taki, »e dla ka»dego i 6 n zi jest aksjomatem lub dla pewnych j, k 6 i zk = (zj ⇒zi), czyli zi mo»na uzyska¢ z zk,zj stosuj¡c reguª¦ Modus Ponens.

Przykªad Jako ilustracj¦ rozwa»my ci¡g zda«:

(A ⇒ (B ⇒ (A ∧ B))) ⇒ ((A ⇒ B) ⇒ (A ⇒ (A ∧ B))), A ⇒ (B ⇒ (A ∧ B)), (A ⇒ B) ⇒ (A ⇒ (A ∧ B))

Zdanie pierwsze jest wykorzystaniem schematu 2, drugie 3, a trzecie otrzymujemy z nich stosuj¡c reguª¦ MP.

(4)

Dla systemu Hilberta zachodz¡ dwa wa»ne twierdzenia;

Twierdzenie (O zgodno±ci)

Ka»de zdanie maj¡ce dowód w systemie Hilberta jest tautologi¡.

Twierdzenie (O zupeªno±ci)

Ka»de zdanie b¦d¡ce tautologi¡ ma dowód w systemie Hilberta.

Obecnie zajmieny si¦ twierdzeniami rachunku logicznego dotycz¡cymi dowolnej teorii i dowolnej formuªy.

Denicja

Niech T b¦dzie dowolnym zbiorem formuª zwanym teori¡.

Dowodem zaªo»eniowym formuªy ϕ w teorii T nazywamy ka»dy dowód, który wykorzystuje elementy T jako dodatkowe aksjomaty.

Fakt, »e ϕ ma taki dowód b¦dziemy zapisywa¢ symbolicznie:

T ` ϕ.

(5)

B¦dziemy zamiast T ∪ {ϕ1, . . . , ϕn} ` ϕpisa¢ T , ϕ1, . . . , ϕn` ϕ. Zaczniemy od twierdzenia o dedukcji, które jest wykorzystywane w prawie ka»dym dowodzie. Je±li kto± nie rozumie powy»szgo zdania, to nale»y mu przypomnie¢, »e zajmujemy si¦ metamatematyk¡.

Zastanawiamy sie jak prowadzi si¦ dowód dowolnego twierdzenia postaci ϕ ⇒ ψ.

Najpierw proste zadanie.

(6)

Zadanie Wyka», »e A ⇒ A ma dowód w systemie Hilberta.

Zauwa»my,»e A ⇒ (A ⇒ A) ⇒ A) powstaje z aksjomatu 1 przez podstawienie A ⇒ A za B, A ⇒ (A ⇒ A) przez podstawienie A za B. Natomiast

(A ⇒ (A ⇒ A) ⇒ A)) ⇒ ((A ⇒ (A ⇒ A)) ⇒ (A ⇒ A)) jest instancj¡ aksjomatu 2. Stosuj¡c dwa razy MP otrzymujemy dowód A ⇒ A.

(7)

Twierdzenie (0 dedukcji)

Dla ka»dej teorii T i formuª ϕ, ψ mamy;

T , ϕ ` ψ i T ` ϕ ⇒ ψ.

Dowód Zacznijmy od prostszej implikacji. Je±li T ` ϕ ⇒ ψ, to tym bardziej T , ϕ ` ϕ ⇒ ψ, a poniewa» T , ϕ ` ϕ, wi¦c i T , ϕ ` ψ.

Dowód implikacji odwrotnej prowadzimy analizuj¡c (indukcyjnie) dowód formuªy ψ. Je±li jest ona aksjomatem, czyli aksjomatem dowolnego systemu lub elementem T , to T ` ψ. Ponadto ψ ⇒ (ϕ ⇒ ψ)jest aksjomatem logiki, wi¦c przez odrywanie dostajemy T ` ϕ ⇒ ψ.

Zaªó»my wi¦c, »e dowód ψ uzyskano przez odrywanie z dowodów ω ⇒ ψi ω w teorii T ∪ {ϕ}. Z zaªo»enia mamy:

T ` ϕ ⇒ ω i T ` ϕ ⇒ (ω ⇒ ψ).

(8)

Poniewa» formuªa (ϕ ⇒ (ω ⇒ ψ)) ⇒ ((ϕ ⇒ ω) ⇒ (ϕ ⇒ ψ)) jest tautologi¡, wi¦c przez dwukrotne odrywanie otrzymujemy

T ` ϕ ⇒ ψ.

Twierdzenie o dedukcji jest nagminnie stosowan¡ metod¡

prowadzenia dowodu implikacji ϕ ⇒ ψ. Inn¡ wa»n¡ metod¡ jest dowodzenie przez zaprzeczenie.

Wniosek (O dowodach przez zaprzeczenie) Je±li T , ¬ψ ` ¬ϕ, to T ` ϕ ⇒ ψ.

Dowód wynika ªatwo z twierdzenia o dedukcji, gdy» mo»emy przyj¡¢, »e T ` ¬ψ ⇒ ¬ϕ, a formuªa (¬ψ ⇒ ¬ϕ) ⇒ (ϕ ⇒ ψ) jest aksjomatem. Pozostaje wykorzysta¢ reguª¦ odrywania.

(9)

W systemach hilbertowskich poszukiwanie dowodu jest bardzo trudne, gdy» nie ma prostych zale»no±ci mi¦dzy formuª¡ a jej dowodem. Metoda rezolucji, zaproponowana przez J.A. Robinsona w 1965 roku, umo»liwia sprawne poszukiwanie dowodu. W

przypadku rachunku zda« bazuje ona na postaci normalnej koniunkcyjnej dla formuª. Jest te» ona podstaw¡ programowania logicznego. Wykorzystuje si¦ j¡ te» w aparatach wnioskowania systemów ekspertowych.

Przypomnijmy, »e formuªa jest w postaci normalnej

koniunkcyjnej, PNK, gdy jest koniunkcj¡ alternatyw literaªów.

Twierdzenie

Dla ka»dej formuªy rachunku zda« istnieje równowa»na formuªa w PNK.

(10)

Algorytm przeksztaªacania formuªy do równowa»nej w PNK polega na wykonaniu nast¦puj¡cych operacji, które zachowuj¡ logiczn¡

równowa»no±¢.

1 Usu« wszystkie operatory logiczne z wyj¡tkiem negacji, koniunkcji i alternatywy, korzystaj¡c ze znanych

równowa»no±ci.

2 Przenie± wszystkie negacje do ±rodka korzystaj¡c z praw de Morgana:

¬(A ∨ B) ≡ ¬A ∧ ¬B

¬(A ∧ B) ≡ ¬A ∨ ¬B

3 Usu« wielokrotne zaprzeczenia korzystaj¡c z równowa»no±ci

¬¬A ≡ A.

4 Stosuj wielokrotnie prawa rozdzielczo±ci

A ∨ (B ∧ C) ≡ (A ∨ B) ∧ (A ∨ B) A ∧ (B ∨ C) ≡ (A ∧ B) ∨ (A ∧ B) w celu usuni¦cia koniunkcji z alternatyw.

(11)

Przykªad przebiegu algorytmu

(¬p → ¬q) → (p → q) ≡ ¬(¬p → ¬q) ∨ (p → q)

≡ ¬(¬¬p ∨ ¬q) ∨ (¬p ∨ q)

≡ (¬¬¬p ∧ ¬¬q) ∨ (¬p ∨ q)

≡ (¬p ∧ q) ∨ (¬p ∨ q)

≡ (¬p ∨ ¬p ∨ q) ∧ (q ∨ ¬p ∨ q)

(12)

Denicja

Klauzul¡ nazywamy zbiór literaªów, rozumiany jako alternatywa tych literaªów. Formuª¡ w postaci klauzulowej nazywamy zbiór klauzul, rozumiany jako koniunkcja tych klauzul.

Przykªad Formuªa (¬p → ¬q) → (p → q) jest równowa»na nast¦puj¡cej formule w postaci klauzulowej: {{¬p, q}, {q, ¬p}}.

B¦dziemy te» stosowa¢ uproszczon¡ notacj¦, w której ta formuªa ma zapis {pq, qp}.

Denicja

Niech S, S0 b¦d¡ zbiorami klauzul. Zapis S ≈ S0 oznacza, »e S jest speªnialny wtw, gdy S0 jest speªnialny.

(13)

Denicja

Klauzul¡ nazywamy zbiór literaªów, rozumiany jako alternatywa tych literaªów. Formuª¡ w postaci klauzulowej nazywamy zbiór klauzul, rozumiany jako koniunkcja tych klauzul.

Przykªad Formuªa (¬p → ¬q) → (p → q) jest równowa»na nast¦puj¡cej formule w postaci klauzulowej: {{¬p, q}, {q, ¬p}}.

B¦dziemy te» stosowa¢ uproszczon¡ notacj¦, w której ta formuªa ma zapis {pq, qp}.

Denicja

Niech S, S0 b¦d¡ zbiorami klauzul. Zapis S ≈ S0 oznacza, »e S jest speªnialny wtw, gdy S0 jest speªnialny.

Metoda rezolucji pozwala rozstrzygn¡¢, czy formuªa w postaci klauzulowej jest speªnialna, przez zast¦powanie zbioru klauzul S zbiorem S0 takim, »e S ≈ S0.

(14)

Odt¡d C oznacza klauzul¦, a l literaª. Wtedy l jest literaªem równowa»nym z ¬l (czyli l =p o ile l = ¬p).

Zauwa»my, »e nie zakªadamy, »e C ma by¢ niepusty! Symbolem  oznaczamy pust¡ klauzul¦, a ∅ pusty zbiór klauzul. Wtedy

zakªadamy,»e

1 Pusty zbiór klauzul ∅ jest formuª¡ prawdziw¡.

2 Pusta klauzula  jest niespeªnialna.

Dowody podanych zda« s¡ proste, cho¢ maªo zrozumiaªe dla nie-matematyka. Przykªadowo klauzula  nie zawiera »adnego literaªu, wi¦c przy »adnym warto±ciowaniu jej literaª nie jest speªniony.

(15)

Przykªad W systemie Hilberta byªa tylko jedna reguªa wnioskowania: reguªa odrywania:

MP A ⇒ B, A B

Wykorzystuj¡c postaci klauzulowe formuª mo»emy j¡ zapisa¢

nast¦puj¡co:

MP {AB, A}

{B}

zakªadaj¡c oczywi±cie, »e A, B s¡ zmiennymi. Tym niemiej przykªad ten obja±nia dokªadnie o co chodzi w regule rezolucji: o wyszukanie dwóch klauzul zawieraj¡cych par¦ literaªow komplementarnych i zast¡pienie ich now¡ klauzul¡. Metoda ta powinna zachowywa¢

speªnialno±¢!

(16)

Zauwa»my jednak, »e (A ⇒ B) ∧ A 6 ≡B, gdy» zmienna B jest speªnialna przy dwóch warto±ciowaniach zmiennych A, B, a formuªa (A ⇒ B) ∧ A tylko przy takim, które zarówno A jak i B przypisuje prawd¦.

W Prologu stosuje si¦ tzw. SLD rezolucj¦, której przykªadem jest reguªa:

MP {AB, B}

{A}

Reguªa rezolucji Niech C1 i C2 b¦d¡ klauzulami takimi, »e l ∈ C1,l ∈C2. Mówimy wtedy, »e klauzule te koliduj¡ ze sob¡, gdy» zawieraj¡ par¦ literaªów komplementarnych. Rezolwent¡

klauzul C1,C2 nazywamy klauzul¦ C postaci:

R(C1,C2) = (C1\ {l}) ∪ (C2\ {l}).

Klauzule C1,C2 nazywamy macierzystymi dla C.

(17)

Twierdzenie

Rezolwenta C klauzul C1,C2 jest speªnialna wtw, gdy koniunkcja klauzul C1,C2 jest speªnialna.

Dowód Je±li koniunkcja klauzul C1,C2 jest speªnialna przy pewnym warto±ciowaniu v zmiennych w nich wyst¦puj¡cych, a l, l jest par¡

literaªów usuwanych przy tworzeniu rezolwenty C, to na pewno W C1 lub w C2 wyst¦puje literaª k ró»ny od nich, który ma warto±¢

logiczn¡ 1 przy warto±ciowaniu v. Poniewa» k wyst¦puje w C otrzymujemy, »e v(C) = 1. Odwrotnie, je±li v(C) = 1, a np.

wszystkie literaªy z (C2\ {l})maj¡ przypisany faªsz, to

rozszerzaj¡c v kªad¡c v(l) =1 otrzymujemy warto±ciowanie, przy którym C1,C2 s¡ speªnialne.

(18)

Opis algorytmu rezolucji Wej±cie: Zbór klauzul S.

Wyj±cie: S jest speªnialny lub nie.

W czasie dziaªania algorytmu wyznacza si¦ ci¡g Si zbiorów literaªów przez prost¡ iteracj¦, kontroluj¡c, czy ci¡g si¦ stabilizuje. Niech S0=S. Zaªó»my, »e wyznaczyli±my Si. Wybieramy z Si par¦

klauzul koliduj¡cych C1,C2, króre jeszcze nie byªy analizowane.

Tworzymy ich rezolwent¦ C i deniujemy Si+1 =Si∪ {C}. Je±li C = , to ko«czymy algorytm stwierdzaj¡c, »e S nie jest

speªnialny. Je±li nie ma ju» w Si par klauzul koliduj¡cych, które nie byªy analizowane, to ko«czymy algorytm stwierdzaj¡c, »e S jest speªnialny.

(19)

Przykªady

1 Algorytm rezolucji implementuje si¦ (równie» zapisuje) na ró»ne sposoby. Najpro±ciej mo»na tworzy¢ kolejne zbiory klauzul zgodnie z reguª¡ rezolucji. Wtedy stosuje si¦ ró»ne notacje. My b¦dziemy u»ywa¢ wprowadzonej notacji.

Udowodnimy t¡ metod¡, »e formuªa

(p ⇒ q) ⇒ ((p ∨ r) ⇒ (q ∨ r)) jest tautologi¡, czyli jej negacja nie jest speªnialna. Najpierw wyznaczymy jej PNK:

¬((p ⇒ q) ⇒ ((p ∨ r) ⇒ (q ∨ r))) ≡ (p ⇒ q) ∧ ¬((p ∨ r) ⇒ (q ∨ r)) (¬p ∨ q) ∧ (p ∨ r) ∧ ¬(q ∨ r) ≡ (¬p ∨ q) ∧ (p ∨ r) ∧ ¬(q) ∧ ¬(r) Czyli wej±ciem dla algorytmu jest nast¦puj¡cy zbiór klauzul:

{(1)pq, (2)pr, (3)q, (4)r}, a kolejne zbiory klauzul to:

1 {pq, pr, q, r, (5)p} , dodali±my rezolwent¦ (2), (4);

2 {pq, pr, q, r, p, (6)q} dodali±my rezolwent¦ (1), (5);

3 {pq, pr, q, r, p, q, } rezolwenta (3), (6) jest pusta.

(20)

1 W Mini-Prologu program jest zbiorem (koniunkcj¡) klauzul hornowskich, w których dokªadnie jeden literaª jest zmienn¡.

Tzw. klauzula celu nie mo»e zawiera¢ takiego literaªu, jest wi¦c równowa»na negacji koniunkcji zmiennych. Przykªadowo:

niech {pq, qr, p} b¦dzie programem. Fakt, »e r jest konsekwencj¡ logiczn¡ tego programu jest równowa»ny niespeªnialno±ci zbioru {(1)pq, (2)qr, (3)p, (4)r}. Faktycznie, bior¡c rezolwent¦ (4), (2) otrzymamy q, a jej rezolwenta z (1) to p i otrzymamy klauzul¦ pust¡ tworz¡c rezolwent¦ z (3).

(21)

Czyli mamy od razu, »e

Wniosek (Poprawno±¢ metody rezolucji)

Je±li na podstawie algorytmu rezolucji zostanie wyprowadzona klauzula pusta, to wej±ciowy zbiór klauzul jest niespeªnialny.

Trudniej udowodni¢

Twierdzenie (Peªno±¢ metody rezolucji)

Je±li wej±ciowy zbiór klauzul jest niespeªnialny, to za pomoc¡

metody rezolucji mo»na wyprowadzi¢ klauzul¦ niespeªnialn¡.

Cytaty

Powiązane dokumenty

Wiemy już, że moc zbioru funkcji monotonicz- nych N → N jest równa kontinuum (oznaczmy ten zbiór przez B).. Łatwo sprawdzic, że funkcja F

A quasi-leftmost reduction is an infinite reduction sequence with infinitely many leftmost steps....

Czy teza jest prawdziwa dla całkowitych ujemnych liczb

Napisz zdanie zªo»one, które jest prawdziwe wtedy i tylko wtedy, gdy (a) dokªadnie jedno ze zda« p, q, r jest prawdziwe;.. (b) dokªadnie dwa ze zda« p, q, r

Zakładamy, że modliszka porusza się z prędkością nie większą niż 10 metrów na minutę oraz że moze zabić inną tylko wtedy, gdy znajdują się w jednym punkcie.. Ponadto

Udowodnić, że istnieje taki gracz A, który każdego innego gracza B pokonał bezpośrednio lub pośrednio, to znaczy gracz A wygrał z B lub gracz A pokonał pewnego zawodnika C,

Zapisz sªowami nast¦puj¡ce zdania, a nast¦pnie zapisz za pomoc¡ kwantykatorów ich

Onyszkiewicza Elementy logiki i teorii mnogości w zadaniach (PWN 2004) albo jest wzorowana na zadaniach tam zamieszczonych..