Tentamen 2013-10-31 Grundläggande logik och modellteori (5DV102) M. Berglund och K. Markström Totalt antal uppgifter 11 Maximalt antal poäng 30 Krav för 3 i betyg 14 poäng Krav för 4 i betyg 19 poäng, vara minst 1 poäng på -frågor. Krav för 5 i betyg 24 poäng, varav minst 2 poäng på -frågor. I de uppgifter som rör predikatlogik är a, b, c namn på konstanter, f (2), g (1) funktionssymboler, x, y, z, x, y, z variabler, och p (2), r (2), q (1), q (1) 1, q(1) 2, q(1) 3 relationssymboler. Uppgift 1 1 poäng Ge ett exempel på en syllogism och ett exempel på en korrekt applikation av den (det vill säga, ett sant uttalande som resulterar av att ersätta variablerna i syllogismen med verkliga objekt). Alla x är y. a är x. Alltså är a y. Alla greker är dödliga. Aristoteles är en grek. Alltså är Aristoteles dödlig. Uppgift 2 2+1+1+1+1 poäng Studera följande välformade formler från satslogiken L = ({p, q, r}, C), där C är alla de vanliga konnektiven. A = (p q) r B = (p q) r C = (p q) ( p q) (a). Konstruera sanningstabellen för A, B, och C (alla kan skrivas i samma tabell som olika kolumner). (b). Gäller {A, B} C? (c). Gäller {B, C} A? (d). Det existerar ett vanligt satslogiskt konnektiv sådant att C p?q, där? står för det efterfrågade konnektivet. Vilket? (e). Skriv formel D i logiken L sådan att (i) {A, B, C} D, och, (ii) D har så få modeller som möjligt. Ange antalet modeller som en del av svaret. Motivera alla era svar med hjälp av tabellen konstruerad i (a). (a). Sanningstabellen borde se ut på följande sätt: p q r A B C T T T T T T T T F F F T T F T F T F T F F T F F F T T F T F F T F T T F F F T T T T F F F F F T
(b). Nej, A och B är sanna men C är falsk på rad 6. (c). Ja, B och C är sanna på raderna 1 och 7, och A är också sann på dessa. (d). Ekvivalens, p q. (e). Det finns två modeller för {A, B, C}, ett förslag på ett D som är sann för dessa två tolkningar är (p q) r. Uppgift 3 1+1+2 poäng Studera följande välformade formler från satslogiken L = ({p, q, r}, C), där C är alla de vanliga konnektiven. A = (p q) p B = (p q) ( p r) (a). Skriv om A till if-then-else-normalform med hjälp av Shannon-expansion, förenkla som ett sista steg i processen. (b). Skriv om B till disjunktiv normalform. Förenkla så långt ni kan. (c). Skriv om B till konjunktiv normalform. Förenkla så långt ni kan. Visst logiskt resonemang kan behövas för bästa förenkling. Kom ihåg att skriva ut och motivera varje steg ni tar. (a). (b). Välj p: p (( q) ), (( q) ). Välj q: p (q (( ) ), (( ) )), (q (( ) ), (( ) )). Förenkla: p (q ( ), ( )), (q ( ), ( )). Ta bort implikation: (p q) ( p r). Flytta in negation: ( p q) ( p r). Den är nu på DNF. (c). För CNF, börja från DNF: Uppgift 4 Distribuera: ( p ( p r)) (q ( p r)), Distribuera: sedan ( p p) ( p r) (q p) (q r). På CNF nu. Formeln är nu på CNF. Man kan dessutom förenkla genom att notera att klausulen p gör de nästa två klausulerna onödiga (om p är uppfylld är de omedelbart uppfyllda). Detta ger p (q r). 2 poäng Konstruera ett eget bevissystem Γ för satslogiken som är sunt och kan bevisa att p p, men som inte nödvändigtvis är fullständigt. Beskriv dess olika delar. Motivera varför det är sunt. Diskutera dess (brist på) fullständighet. Visa beviset för p p (dvs, Γ p p). Det enklaste sättet är att välja Γ = ({α 1 α 1 }, ). Beviset blir en direkt instantiering av axiomschemat. Uppgift 5 Studera nedanstående mening. ( x)( y)(p(x, y)) ( x)( y)( p(y, x)) ( x)(q(x) p(x, x)) q(a) (a). Ge en modell för meningen. (b). Ge en falsifierande tolkning för meningen. 1+1 poäng Ni behöver inte uppge vad tolkningen gör med symboler som inte ingår i den aktuella meningen. Var noga med notationen. En tolkning J som satisfierar: dom(j) = {1, 2}, p J = {(1, 1), (2, 1)}, q J = {2}, a J = 2. En tolkning J som falsifierar: dom(j) = { }, p J = {(, )}, q J = { }, a J =.
Uppgift 6 3 poäng (a). Skolemisera ( x)( y)( z)(p(f(x, y), g(z))). (b). Applicera Robinsons algoritm för att hitta den mest generella unifieraren för p(f(x, g(x)), x) och p(f(y, z), z) om en sådan finns. Visa varje steg. (a). ( y)(p(f(a, y), g(g (y)))). (b). Följande steg resulterar: x y. z g(y). y g(y) vilket inte är tillåtet, så ingen unifierare finns. Uppgift 7 Studera följande formler. 5 poäng F1. ( x)( y)(r(x, y) ( z)(p(x, z) p(z, y))). F2. ( x)(q 1 (x) ( y)(q 3 (y) p(x, y))). F3. ( x)(q 1 (x) q 2 (x) q 3 (x)). F4. ( x)( y)(r(x, y) q 1 (x) q 3 (y)) ( x)(q 2 (x)). Bevisa att {F1, F2, F3} F4 med hjälp av ett vederläggningsbevis med resolution. Visa noggrant alla steg i processen. 1. Negera F4. 2. Skriv om formlerna till prenex-konjunktiv normalform. F1. ( x)( y)( z)(( r(x, y) p(x, z)) ( r(x, y) p(z, y))). F2. ( x)( y)( q 1 (x) q 3 (y) p(x, y)). F3. ( x)(q 1 (x) q 2 (x) q 3 (x)). F4. ( x)( y)( z)(r(x, y) q 1 (x) q 3 (y) q 2 (z)). 3. Skolemisera. F1. ( x)( y)( r(x, y) p(x, f(x, y))) ( r(x, y) p(f(x, y), y)). F2. ( x)( y)( q 1 (x) q 3 (y) p(x, y)). F3. ( x)(q 1 (x) q 2 (x) q 3 (x)). F4. ( z)(r(k 1, k 2 ) q 1 (k 1 ) q 3 (k 2 ) q 2 (z)). 4. Överför på klausulform. F1. K1. r(x, y) p(x, f(x, y)), K2. r(x, y) p(f(x, y), y). F2. K3. q 1 (x) q 3 (y) p(x, y). F3. K4. q 1 (x) q 2 (x) q 3 (x). F4. K5. r(k 1, k 2 ), K6. q 1 (k 1 ), K7. q 3 (k 2 ), K8. q 2 (z)).
5. Utför resolution: K9 p(k 1, f(k 1, k 2 )) (K1,K5, {x k 1, y k 2 }) K10 q 1 (k 1 ) q 3 (f(k 1, k 2 )) (K3, K9, {x k 1, y f(k 1, k 2 )}) K11 p(f(k 1, k 2 ), k 2 ) (K2,K5, {x k 1, y k 2 }) K12 q 1 (f(k 1, k 2 )) q 3 (k 2 ) (K3, K11, {x f(k 1, k 2 ), y k 2 }) K13 q 1 (f(k 1, k 2 )) (K7, K12) K14 q 1 (x) q 3 (x) (K4, K8, {x z}) K15 q 3 (f(k 1, k 2 )) (K13, K14, {x f(k 1, k 2 )}) K16 q 1 (k 1 ) (K10, K15) K17 (K6, K16) Uppgift 8 2+2 poäng I följande är alla formler över en temporallogik med atomerna {p, q} och de vanliga konnektiven. (a). Skriv en formel i LTL för vilken de enda modellerna är tolkningen p, q p p q och alla de ekvivalenta tolkningarna. Till exempel p, q p p q q q (b). Ange en tolkning som falsifierar och en tolkning som satisfierar följande LTL-formel. ( (p q)) ( (p p) ( ( p q))) (a). q p ( (p q)) ( (p q)) ( (q p)). (b). Falsifierar: p Satisfierar: p p q Uppgift 9, 1 poäng Beskriv på hög nivå en effektiv algoritm som tar en satslogisk formel på konjunktiv normalform som input och avgör om den är en tautologi. Det finns en enkel linjär algoritm. Kontollera om A innehåller någon klausul som inte innehåller ett par av komplementära litteraler. Isåfall är formeln inte en tautologi. Ingen klausul med komplementära litteraler kan falsifieras. Om en klausul inte innehåller komplementära litteraler välj den litteral som inte har ett komplement och konstruera en godtycklig tolkning som gör litteralen falsk. Denna gör då A falsk. Uppgift 10, 1 poäng I formelbladet ges α- och β-tabellerna för konstruktion av semantiska tablåer. I dessa finns dock inga regler för operatorn if-then-else som vi använder i Shannon-expansion.
Skriv nya rader för tabellerna för denna operator (notera att regler behövs både för operatorn själv och för operatorn omgiven av en negation). Använd sedan din nya tabell för att med en semantisk tablå demonstrera att följande formel är satisfierbar. p ( p), (p q). Lägg till en beta-regel med β = A 1 (A 2 )(A 3 ), β 1 = A 1 A 2, β 2 = A 1 A 3. Lägg till en α-regel med α = (A 1 (A 2 )(A 3 ), α 1 = A 1 A 2 ), α 2 = A 1 A 3. p ( p), (p q) delas av β-regeln upp i: p p som med en α-regel blir p, p och stängs. p (p q), en α-regel ger p, (p q). En β-regeln på den kvarvarande disjunktionen ger: p, p, vilken stängs. p, q, som är öppen. En öppen gren, så tablån är öppen och formeln satisfierbar (med tolkningen p F, q F. Uppgift 11, 1 poäng Låt L vara en godtycklig predikatlogik, och A en formel i L med x som enda fria variabel. Bevisa att om ( x)(a) är en tautologi så är ( x)(a) satisfierbar. För full poäng krävs ett formellt korrekt argument och korrekt använding av terminologi och notation. Välj en tolkning J för L sådan att dom(j) = { }, för en godtycklig symbol. Vi vet (per antagande att ( x)(a) är en tautologi) att J Mod(( x)(a)). Då det bara finns ett domänelement finns det exakt en J-värdering w (i vilken alla variabler sätts till ). Vi vet, då ( x)(a) är en tautologi, att A är sann under någon värdering, och då det bara finns en måste A vara sann under w, och är således sann under alla värderingar. Om A är sann under alla värderingar så är ( x)(a) trivialt sann.
Formelblad 2013-10-31 Grundläggande logik och modellteori (5DV102) Semantiska tablåer för satslogik α-regler α α 1 α 2 A 1 A 1 A 1 A 2 A 1 A 2 (A 1 A 2 ) A 1 A 2 (A 1 A 2 ) A 1 A 2 (A 1 A 2 ) A 1 A 2 A 1 A 2 A 1 A 2 A 1 A 2 A 1 A 2 A 2 A 1 (A 1 / A 2 ) A 1 A 2 A 2 A 1 β-regler β β 1 β 2 (B 1 B 2 ) B 1 B 2 B 1 B 2 B 1 B 2 B 1 B 2 B 1 B 2 B 1 B 2 B 1 B 2 (B 1 B 2 ) B 1 B 2 (B 1 B 2 ) (B 1 B 2 ) (B 2 B 1 ) B 1 / B 2 (B 1 B 2 ) (B 2 B 1 ) Semantiska tablåer för temporallogik α α 1 α 2 A A A A A A β β 1 β 2 A A A A A A X X 1 A A A A Hilbert-system Axiom 1 (A (B A)). Axiom 2 (A (B C)) ((A B) (A C)). Axiom 3 ( B A) (A B).