Resolutsiooni meetod tõestamisel

Resolutsioon on mehaaniline tõestusmeetod. Selle asemel et otse näidata, et väide järeldub, võtame järelduse eituse ja näitame, et see eitus koos eeldustega teeb vastuolu – toob tühja klausli □. Vastuolu tähendab: eitust ei saanud olla, järeldus on tõestatud.

Samm 1 · Iga eelduse valem viiakse klauslikujule

Eeldustes võivad olla pikad valemid, kus segunevad implikatsioonid, konjunktsioonid, disjunktsioonid ja eitused. Iga selline üksik valem tuuakse esiteks normaalsele klauslikujule (DNF). Eeldusi kasutatakse tõestamisel: eeldustes loetletud üksikud valemid paigutatakse samm-sammult puusse, et oleks võimalik rakendada resolutsiooni reeglit.

Vajalikud reeglid: X → Y ≡ ¬X ∨ Y · De Morgan: ¬(X ∧ Y) ≡ ¬X ∨ ¬Y, ¬(X ∨ Y) ≡ ¬X ∧ ¬Y · ¬¬X ≡ X

Samm 2 · Lisa järelduse eitus

Tahame tõestada V. Lisame hulga klauslisse tema eituse ¬V. Kui resolutsioon viib selleni, et □ tuleb kätte, oli hulk vastuoluline ja V on tõestatud.

Samm 3 · Resolutsioonisamm

Võtame kaks klauslit. Ühes on mingi literaal A, teises tema täiend ¬A. Need kaks „punast“ literaali taanduvad – üle jääb kõigi muude literaalide disjunktsioon, ehk resolvent:

A ∨ X
¬A ∨ Y
⊢
X ∨ Y

Näide: p ∨ q ja ¬p ∨ r annavad resolventi q ∨ r. Kui rohkem literaale ei jää, on tulem □ – tühi klausel, st vastuolu.

Näide tervikuna

„Kui sajab, siis on märg. Kui on märg, siis peab olema vihmavari. Sajab.“ Tõesta: on vihmavari.   S = sajab, M = märg, V = vihmavari

Klauslid: (1) ¬S ∨ M · (2) ¬M ∨ V · (3) S · (4) ¬V (järelduse eitus). Resolutsioon samm-sammult:

¬S ∨ M (1)
S (3)
M
¬M ∨ V (2)
V
¬V (4)
□
(1)+(3)
+(2)
+(4)

Tekkis □ ⇒ vastuolu ⇒ „vihmavari ei ole“ on võimatu ⇒ vihmavari on.

Ülesanne 1 · Puslepuu

Ülesanne. „Kui kohv on kuum, siis aurab. Kui aurab, siis tuleb ettevaatlik olla. Kohv on kuum.“ Tõesta: tuleb ettevaatlik olla.

K = kohv on kuum, A = aurab, E = tuleb ettevaatlik olla

A · Paiguta valemid väidete juurde

¬K ∨ A ¬A ∨ E K ¬E
„Kui kohv on kuum, siis aurab.“
„Kui aurab, siis tuleb ettevaatlik olla.“
„Kohv on kuum.“
„Järelduse eitus: ettevaatlik olla pole vaja.“

Ülesanne 2 · Täida ise

Ülesanne. „Kui Mari treenib, siis ta võidab. Kui ta võidab, siis ta rõõmustab. Mari treenib.“ Tõesta: Mari rõõmustab.

M = treenib, T = võidab, R = rõõmustab.  Klauslid: (1) ¬M ∨ T · (2) ¬T ∨ R · (3) M · (4) ¬R

Klauslid (1), (3) ja (4) on antud. Kirjuta klausel (2) ja tühjadesse kastidesse resolvendid – kokku kolm resolutsioonisammu, et jõuda □-ni. Vajadusel vihje ühe kaupa.

Klaviatuur – klõpsa, et sisestada:
¬M ∨ T (1)
M (3)
¬R (4)

Ülesanne 3 · Kõik kastid tühjad

Ülesanne. „Kui ilm on pilvine, siis tõuseb tuul. Kui tuul tõuseb, siis lainetavad puud. Ilm on pilvine.“ Tõesta: puud lainetavad.

I = ilm on pilvine, T = tõuseb tuul, P = puud lainetavad.

Siin pole ühtegi kasti ette antud: kirjuta kõikidesse kastidesse sobivad klauslid ja resolvendid. „Vihje“ toob ühe vihje ja avab ühe kasti – samm kaupa, mitte kõike korraga.

Klaviatuur – klõpsa, et sisestada:

Ülesanne 4 · Täislahing

Klaviatuur – klõpsa, et sisestada:

A · Too valemid normaalkujule

Ülesanne. „Kui aku on tühi ja ekraan on põlema jäänud, siis läheb vool välja. Kui vool läheb välja, siis kaovad andmed. Aku on tühi. Ekraan on põlema jäänud.“ Tõesta: andmed kaovad.

A = aku on tühi, E = ekraan on põlema jäänud, V = vool läheb välja, D = andmed kaovad. Järelduse eitus: ¬D.

Osad valemid pole veel klauslid. Kasuta reegleid: X → Y ≡ ¬X ∨ Y ja ¬(X ∧ Y) ≡ ¬X ∨ ¬Y.

(A ∧ E) → V ≡
V → D ≡
A ≡
E ≡

B · Ehita resolutsiooni puu (4 sammu)

Klauslid: (1) ¬A ∨ ¬E ∨ V · (2) ¬V ∨ D · (3) A · (4) E · (5) ¬D. Kirjuta iga resolvent kasti. Vihjed tulevad samm-sammult nupust „Vihje“.

Klaviatuur – klõpsa, et sisestada:
¬A ∨ ¬E ∨ V (1)
A (3)
¬V ∨ D (2)
E (4)
¬D (5)

C · Täida terve puu ise

Ülesanne. „Kui töö on tehtud ja aeg on käes, siis saab puhata. Kui saab puhata, siis meeleolu paraneb. Töö on tehtud. Aeg on käes.“ Tõesta: meeleolu paraneb.

T = töö on tehtud, A = aeg on käes, P = saab puhata, M = meeleolu paraneb. Järelduse eitus: ¬M.

Nüüd pole midagi ette antud – kirjuta kõik kastid ise. „Vihje“ annab samm-sammult vihje ja avab korraga ühe kasti.

Klaviatuur – klõpsa, et sisestada: