Tehtävä 1 Päättele resoluutiolla seuraavista klausuulijoukoista. a. {{p 0 }, {p 1 }, { p 0, p 2 }, {p 1, p 2, p 3 }, { p 2, p 3 }, {p 3 }}, b. {{ p 0, p 2 }, {p 0, p 1 }, {{ p 1, p 2 }, { p 2 }}, c. {{p 1, p 2, p 3 }, { p 2 }, { p 1, p 2 }, {p 1, p 3 }}. a. 1 {p 3 } oletus 2 { p 2, p 3 } oletus 3 { p 0, p 2 } oletus 4 {p 0 } oletus 5 { p 2 } (1, 2) 6 { p 0 } (3, 5) 7 (4, 6) b. 1 { p 0, p 2 } oletus 2 { p 2 } oletus 3 {p 0, p 1 } oletus 4 { p 1, p 2 } oletus 5 { p 0 } (1, 2) 6 {p 1 } (3, 5) 7 { p 1 } (2, 4) 8 (6, 7) c. 1 { p 2 } oletus 2 { p 1, p 2 } oletus 3 {p 1, p 3 } oletus 4 {p 1, p 2, p 3 } oletus 5 { p 1 } (1, 2) 6 { p 3 } (3, 5) 7 {p 2, p 3 } (4, 5) 8 {p 3 } (1, 7) 9 (6, 8) 1
Tehtävä 2 Osoita resoluution avulla, että (p 0 p 1 ) p 2 (p 0 p 2 ) (p 1 p 2 ). seuraa loogisesti oletuksesta Ollakseen (p 0 p 2 ) (p 1 p 2 ) looginen seuraus, pitää (p 0 p 1 ) p 2 negaation olla ristiriidassa (p 0 p 2 ) (p 1 p 2 ) kanssa. Tämä voidaan osoittaa näyttämällä, että oletuksesta (p 0 p 2 ) (p 1 p 2 ) ja (p 0 p 1 ) p 2 negaatiosta saadaan tyhjä klausuulijoukko. Annetuista kaavoista saadaan klausuulijoukko {{p 0 }, {p 1 }, { p 2 }, { p 0, p 1, p 2 }} 1 {p 0 } oletus 2 { p 0, p 1, p 2 } oletus 3 {p 1 } oletus 4 { p 2 } oletus 5 { p 1, p 2 } (1, 2) 6 {p 2 } (3, 5) 7 (4, 6) Tehtävä 3 Osoita resoluution avulla, että p 0 p 2 seuraa loogisesti oletuksista p 0 p 1 ja p 2 ( p 0 p 1 ) Annetuista kaavoista saadaan klausuulijoukko {{p 0 }, { p 2 }, { p 0, p 1 }, { p 0, p 1, p 2 }} 1 {p 0 } oletus 2 { p 0, p 1, p 2 } oletus 3 { p 2 } oletus 4 { p 0, p 1 } oletus 5 { p 1, p 2 } (1, 2) 6 { p 1 } (3, 5) 7 {p 1 } (1, 4) 8 (6, 7) 2
Tehtävä 4 Osoita resoluution avulla, että p 0 p 2 seuraa loogisesti oletuksista p 0 p 1 ja p 1 p 2 Annetuista kaavoista saadaan klausuulijoukko {{p 1, p 2 }, {p 1, p 1 }, {p 2, p 2 }, { p 0, p 1 }, {p 0, p 1 }, { p 0, p 2 }, {p 0, p 2 }} 1 {p 1, p 2 } oletus 2 {p 0, p 2 } oletus 3 {p 0, p 1 } oletus 4 { p 1, p 2 } oletus 5 { p 0, p 1 } oletus 6 { p 0, p 2 } oletus 7 {p 0, p 1 } (1, 2) 8 {p 0 } (3, 7) 9 { p 0, p 1 } (4, 6) 10 { p 0 } (5, 9) 11 (8, 10) Tehtävä 5 Selvitä resoluution avulla, onko A B lausejoukon {A (B C), C} looginen seuraus. Perustele resoluution käyttö, eli miksi ratkaisusi toimii. Osoitetaan ensin, että lause p 0 p 1 on lausejoukon A := {p 0 (p 1 p 2 ), p 2 } looginen seuraus. Tehdään tämä kuten edellisissä tehtävissä, eli muodostetaan klausuulijoukko {{ p 0, p 1, p 2 }, {p 0 }, {p 1 }, { p 2 }} ja osoitetaan, että siitä voidaan resoluutiolla päätellä tyhjä joukko. 1. { p 0, p 1, p 2 } oletus 2. {p 0 } oletus 3. {p 1 } oletus 4. { p 2 } oletus 5. { p 1, p 2 } (1, 2) 6. {p 2 } (3, 5) 3
7. (4, 6) Nyt siis p 0 p 1 on lausejoukon A looginen seuraus, joten lause ((p 0 (p 1 p 2 )) p 2 ) (p 0 p 1 ) on tautologia. Nyt intuitiivisesti on melko selvää, että jos jokin lause A on tautologia, niin se pysyy tautologiana vaikka sen propositiosymbolit korvattaisiin toisilla propositiolauseilla. Esimerkiksi lause p 0 p 0 on tautologia ja selvästi myös A A on tautologia riippumatta siitä mikä lause A on. Osoitetaan tämä intuitio todeksi formaalisti. Näytetään tätä varten ensin, että propositiologiikassa pätee seuraava lause: Olkoot D 1,..., D n propositiolauseita jollain n N, v totuusjakauma ja v sellainen totuusjakauma että { v v(d i ), kun i {1,..., n}, (p i ) = v(p i ), muulloin Tällöin kaikilla propositiolauseilla A pätee v (A ) = v(a (D 1 /p 1,..., D n /p n ))(Tässä merkintä A (D i /p i ) tarkoittaa lausetta, joka saadaan kun kaikki propositiosymbolin p i esiintymät lauseessa A korvataan lauseella D i.) Käytetään lauseelle A (D 1 /p 1,..., D n /p n ) lyhennysmerkintää A ( D/ p). Todistus: Osoitetaan väite induktiolla lauseen A rakenteen suhteen. Alkuaskel: Jos A = p i ja i {1,..., n}, niin A ( D/ p) = D i ja jakauman v määritelmän nojalla v (A ) = v(d i ) = v(a ( D/ p)). Jos taas A = p j ja j > n, niin A ( D/ p) = p j ja saadaan v (A ) = v (p j ) = v(p j ) = v(a ). Siis lause pätee propositiosymboleille. Induktioaskel: IO: Olkoon B ja C propositiolauseita joille todistettava väite pätee. Jos nyt A = B, niin A ( D/ p) = B ( D/ p). Tällöin induktio-oletuksen nojalla v (A ) = v ( B ) = 1 v (B ) = 1 v(b ( D/ p)) = v( B ( D/ p)) = v(a ( D/ p)). Siis lause pätee negaation tapauksessa. Jos taas A = B C, niin A ( D/ p) = B ( D/ p) C ( D/ p). Nyt IO:n nojalla v (A ) = v (B C ) = v (B ) v (C ) = v(b ( D/ p)) v(c ( D/ p)) = v(b ( D/ p) C ( D/ p)) = v(a ( D/ p)). Väite pätee siis myös disjunktiolle. Samalla tavalla voidaan väite osoittaa muillekin konnektiiveille. Tosin konnektiivijoukko {, } on täydellinen, eikä muiden konnektiivien läpikäyminen ole siis edes tarpeen. Nyt haluttu lause on siis todistettu kaikille propositiolauseille A. Edellä todistetun lauseen suora seuraus on, että jos propositiolause A on tautologia ja D 1,.., D n mielivaltaisia propositiolauseita, niin myös lause A( D/ p) on tautologia. Todistus: Olkoon v mielivaltainen totuusjakauma ja määritellään sitten totuusjakauma v kuten äsken todistetussa lauseessa. A:n tautologisuuden nojalla 4
v (A) = v(a( D/ p)) = 1. Koska v oli mielivaltainen, niin myös A( D/ p) on tautologia. Nyt voimme yhdistää äskeisen tuloksen ja tiedon, että lause ((p 0 (p 1 p 2 )) p 2 ) (p 0 p 1 )) on tautologia ja saamme, että myös lause ((A (B C)) C) (A B) on tautologia riippumatta siitä minkälaisia lauseet A, B ja C ovat. Tehtävä 6 Propositiologiikan resoluutio pysähtyy aina, joko siihen, että saadaan tyhjä joukko pääteltyä, tai siihen, että uusia klausuuleja ei enää muodostu. Laske yläraja resoluution pituudelle, jos oletukset koostuvat m klausuulista, joissa kussakin esiintyy korkeintaan n literaalia. Olkoon n, m N 1, C := {A 1,..., A m } joukko klausuuleja, C = m ja A i n jokaisella i {1,..., n}. Osoitetaan, että klausuulijoukosta C voidaan korkeintaan päätellä 2 mn klausuulia ja täten suurin päättelly, jossa ei toistu klausuuleja on pituudelta korkeintaan 2 mn. Todistus: Koska resoluutiopäättellyssä ei tuoda uusia literaaleja pääteltävään, niin kaikki kokoelmasta C pääteltävät klausuulit koostuvat niistä literaaleista, jotka esiintyvät kokoelman C klausuuleissa. Seuraava pätee yhdisteen alkioiden lukumäärälle (eli kaikkien literaalien lukumäärälle) A 1 A 2 A m A 1 + A 2 + + A m mn. Jokaiselle kokoelmasta C pääteltävälle klausuulille C varmasti pätee, että C A 1 A m. Koska mielivaltaista osajoukkoa C konstruoitaessa voidaan jokaisesta literaalista valita, että se joko kuuluu tai ei kuuluu klausuuliin C, joten tuloperiaatteen nojalla tällaisia joukkoja C on täsmälleen 2 A1 Am 2 mn. Siten klausuulikokoelmasta C pääteltäviä klausuuleja on korkeintaan 2 mn kappeletta. Tehtävä 7 Muodosta luvun 6.1 tekniikalla C A kun A = (p 0 p 1 ). Kaikki lauseen A alilauseet ovat p 0, p 1, p 0 p 1, (p 0 p 1 ) Merkitään B := p 0 p 1. Nyt uudet A:n alilauseita vastaavat propositiosymbolit ovat q po, q p1, q B, q A. Nämä vastaavat siis oikeasti tavallisia propositiosymboleja, jotka eivät esiinny lauseessa A (esim. q p0 = p 2 ja q p1 = p 3 jne.), mutta selkeyden vuoksi niistä käytetään tällaista merkintää. Käydään läpi luvussa 5
6.1 esitelty menetelmä kohta kohdalta sen mukaan mitä alilauseita lauseessa A esiintyy: Kohta 1: {q p0, p 0 }, { q p0, p 0 }, {q p1, p 1 }, { q p1, p 1 } C A. Kohta 5: Kohta 2: Kohta 7: { q B, q p0, q p1 }, {q B, q p0 }, {q B, q p1 } C A {q A, q B }, { q A, q B } C A {q A } C A Näin saadaan C A = {{q p0, p 0 }, { q p0, p 0 }, {q p1, p 1 }, { q p1, p 1 }, { q B, q p0, q p1 }, {q B, q p0 }, {q B, q p1 }, {q A, q B }, { q A, q B }, {q A }} 6