Tentamen 2014-01-10 Grundläggande logik och modellteori (5DV102) M. Berglund och K. Markström Totalt antal uppgifter 10 Maximalt antal poäng 30 Krav för 3 i betyg 1 Krav för 4 i betyg 19 poäng, vara minst 1 poäng på -frågor. Krav för 5 i betyg 2, varav minst 2 poäng på -frågor. Uppgift 1 1 poäng Namnge någon av de stora personligheterna bakom den moderna logiken och beskriv kort deras bidrag. Uppgift 2 George Boole grundlade den moderna satslogiken. Studera följande välformade formler från satslogiken L = ({p, q, r}, C), där C är alla de vanliga konnektiven. Kom ihåg att är notationen för nor och notationen för xor. A = (p r) (q r) B = (p q) (p r) C = ((p q) (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? Motivera med hjälp av tabellen konstruerad i (a). (c). Gäller {B, C} A? Motivera med hjälp av tabellen konstruerad i (a). (a). Sanningstabellen borde se ut på följande sätt: (b). Ja, C är alltid sann, så C. (c). Nej, A är falsk på t.ex. rad 2, där B och C är sanna. Uppgift 3 Är { } en komplett uppsättning konnektiv? Motivera. p q r A B C T T T T T T T T F F T T T F T T F T T F F F F T F T T T F T F T F F T T F F T T F T F F F T T T 3 poäng Nej. kan inte uttrycka en formel som är konstant sann. Som exempel, ta logiken med bara en atom, p, där formeln p p är konstant sann. Formeln p p är konstant falsk, och (p p) p p (p p) p. Fortsatt nästning av ger bara återigen konstant falskt eller en formel ekvivalent med p.
Uppgift 4 Studera följande formel från satslogiken L = ({p, q}, C), där C är alla de vanliga konnektiven. (p q) ((p q) q) 6 poäng (a). Konstruera en semantisk tablå för formeln. Använd inga förenklingar utan använd den strikta tablåkonstruktionen. (b). Hur kan man använda tablån för att se om formeln är satisierbar, valid och/eller falsifierbar? Förklara hur man gör det i allmänhet. (c). Konstruera ett reducerat ordnat binärt beslutsdiagram för formeln. Kom ihåg att visa varje steg i algoritmen. (d). Hur kan man använda diagrammet för att se om formeln är satisierbar, valid och/eller falsifierbar? Förklara hur man gör det i allmänhet. (a). Semantiska tablån blir som följer: α-regel ger {(p q), ((p q) q)}, α-regel ger {(p q), (p q), q} β-regel på (p q) ger två fall: {p q, p, q}, en β-regel på detta ger två fall: * { p, q}, * { q, p}. {(p q), q}, en β-regel på detta ger två fall: * { p, q}, * { p, q}. (b). Eftersom det finns öppna grenar är formeln satisfierbar. Det går inte att se om den är en tautologi (eller falsifierbar). (c). Shannon-expansion ger p (q (T T ) ((T T ) T ), (T F ) ((T F ) F )), (q (F T ) ((F T ) T ), (F F ) ((F F ) F )). lite snabb förenkling ger p (q F, T ), (q F, T ). Det binära beslutsdiagrammet kommer att börja med att noden p pekar på q på båda kanterna, q pekar på T på falsk-kanten och F på sant-kanten. Reduktion tar bort p-noden. (d). Eftersom ROBDD:er är unika skulle en tautologi bli en ROBDD med en enda nod, T, och en icke satisfierbar en enda nod, F. I detta fallet är ingetdera sant, så formeln är satisfierbar och falsifierbar. Uppgift 5 Studera följande påståenden. P1. Alla hundar som har en ägare som inte är snål är inte hungriga. P2. Det finns ingen hund som har en ägare som är snål och en ägare som inte är snål. P3. Om det finns en hungrig hund så finns det antingen en snål ägare till någon hund, eller en hund som inte har någon ägare.
Översätt påståendena så direkt som möjligt till formler i en predikatlogik ni också definierar. Var noga med att definiera alla delarna precist, och ge en intuitiv förklaring av vad symbolerna motsvarar i påståendena. P1. ( x)( y)(hund(x) äger(y, x) snål(y) hungrig(x)) P2. ( x)( y)( z)(äger(y, x) äger(z, x) snål(y) snål(z)). P3. ( x)(hund(x) hungrig(x)) ( x)( y)(äger(y, x) snål(y)) ( x)( ( y)(äger(y, x))) Uppgift 6 Låt p och q vara relationssymboler och x och y variabelsymboler. Denna logik får utökas som krävs för att lösa uppgiften. Tag sedan följande meningar: F1. ( x)( y)(p(x, y) (q(x) q(y))). F2. ( x)( q(x)) F3. ( x)( y)(p(x, y)). Använd, på lämpligt sätt, resolution för att avgöra om {F1, F2} F3. Var noga med notation och visa varje steg. Vederläggningsbevis med resolution: Negera F3 och flytta in negationen i både den och F2 för att få {( x)( y)(p(x, y) (q(x) q(y))), ( x)(q(x)), ( x)( y)( p(x, y))}. Skolemisering och klausulform ger {p(x, f(x)) (q(x) q(f(x))), q(x), p(x, y)}. Omskrivning till CNF ger {p(x, f(x)) q(x), p(x, f(x)) q(f(x)), q(x), p(x, y)}. Variabelomdöpning ger {p(x, f(x)) q(x), p(x, f(x )) q(f(x )), q(x ), p(x, y )}. Kollision mellan klausul 2 och 4 ger klausulen q(f(x )) (x ersatt med x, y ersatt med f(x ). Kollision mellan q(f(x )) och klausulen q(x ) ger med x ersatt med f(x ). Uppgift 7 5 poäng I följande är alla formler över en temporallogik med atomerna {p, q} och de vanliga konnektiven. Nedan listas tre par av LTL-formler. För varje par, uppge antingen en linjär tolkning som visar att de inte är ekvivalenta, eller motivera (med ett intuitivt argument) varför de är ekvivalenta för alla linjära tolkningar. (a). (p q) och ( p q). (b). (p q) och (( p) ( q)). (c). p och p. (a). Den första formeln säger att i alla tillstånd skall antingen p eller q gälla. Den andra säger att det inte existerar någon framtida tillstånd där varken p eller q gäller. Detta är ekvivalent. (b). Följande tolkning är en modell för (p q) men inte (( p) ( q). p, q (c). Följande tolkning är en modell för p men inte p. p
Uppgift 8 Använd satslogiken L = ({p 1, p 2,...}, {,, }) för formlerna i den här uppgiften. Låt oss kalla en formel enkel om varje atom förekommer maximalt en gång. Till exempel är (p 1 p 3 ) p 2 enkel, men p 1 p 1 är inte enkel eftersom p 1 förekommer två gånger. Beskriv på hög nivå en så effektiv som möjligt algoritm som tar en enkel satslogisk formel som input och avgör om den är satisfierbar och/eller en tautologi. En sådan formel är alltid satisfierbar och är aldrig en tautologi. En konstanttidsalgoritm svarar helt enkelt alltid ja på den första frågan, och nej på den andra. Uppgift 9 Beskriv på hög nivå en algoritm som tar en godtycklig predikatlogisk mening A som input och som output konstruerar en formel A som är satisfierbar om och endast om A är det, och, bara innehåller enställiga relationssymboler (alla relationssymboler har aritet 1). Variabel-, konstant- och funktionssymboler får i övrigt godtyckligt läggas till, alla kvantifierare och konnektiv får användas. A och A behöver inte vara logiskt ekvivalenta. Skolems algoritm är en bra inspiration för denna uppgift. För varje n-ställig relationssymbol r (med n > 1) som förekommer i A: 1. Skapa en ny 1-ställig relationssymbol r. 2. Skapa en ny n-ställig funktionssymbol f r. 3. Ersätt varje förekomst r(x 1,..., x n ) i f (där x i är en godtycklig term för varje i) med r (f r (x 1,..., x n )). När alla relationssymboler med aritet större än 1 är ersatta är A skapad. Alla tolkningars beteende för r kan överföras till f r och r, och vice versa. Uppgift 10 Hur många logiskt inekvivalenta formler finns det i satslogiken ({p 1,..., p n }, { })? Uttryck svaret i termer av n. Motivera ditt svar. Det finns 2 n logiskt inekvivalenta formler över denna logik. Tricket är att en formel f är ekvivalent med en formel f om och endast om de atomer som förekommer ett udda antal gånger i f förekommer ett udda antal gånger i f. Detta ger två fall för varje atom, för totalt 2 n fall.
Formelblad 2014-01-10 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 β-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 ) 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). Modus ponens För alla formler A, B: A B A B.