Tentamen i logik 729G06 Programmering och logik 2015-03-12 Poänggränser: På tentan kan du som mest få 24 poäng. Om du har fått ≥ 11 poäng är du garanterad åtminstone godkänt betyg, ≥ 17 väl godkänt. Tillåtna hjälpmedel: Inga. Tentan har ett regelblad bifogat, vilket får användas. Jour Anders Märak Leffler besöker salen efter 15.15. Allmänna regler • När du börjar på en ny uppgift (uppgift 1, uppgift 2, . . . ), börja på ett nytt ark. • Skriv på en sida av pappret. • Sortera lösningarna i uppgiftsordning (1,2,. . . ) innan de lämnas in. • Motivera dina svar ordentligt. Avsaknad av-, eller otillräckliga, förklaringar kan resultera i poängavdrag. Även felaktiga svar kan ge poäng om de är korrekt motiverade. • Se till att dina lösningar är läsbara. • Lämna plats för kommentarer. Bevissystem: Naturlig deduktion med de tio regler som finns bifogade med denna tenta. När du skriver bevis i predikatlogik (och behöver använda ett bevissystem), ska du använda detta. Just detta tentamenstillfälle är det också acceptabelt att visa sina slutsatser med hjälp av resolution, Gentzen-system eller det Gentzen-lika system som presenteras i TDDC36. Inget annat alternativt bevissystem, eller alternativ regeluppsättning, är tillåten. Lycka till. 1 1. Visa vilka av följande formler som är tautologier, kontingenta och/eller kontradiktioner (motsägelser). Använd sanningstabeller för att visa ditt påstående1 . (3p) a) (A → A) → A b) ¬(B → C) → B c) (D → E) ∧ (E → D) 2. Använd sanningstabeller för att visa vilka resonemang som är korrekta. Om ett resonemang är korrekt, markera de rader som visar logisk konsekvens. Om ett resonemang är felaktigt, markera de rader som utgör motbevis. Precis som i uppgift 1, får du också svara med tolkningar. (2p) a) (A → A) → A |= ¬A b) ¬B, C → B |= ¬C 3. Om ett resonemang i satslogiken är korrekt, kan du använda sanningstabeller för att visa det. För predikatlogiska resonemang som ∀x[P (x) → Q(x)], P (a) |= Q(a) måste du använda ett bevissystem. Varför kan du inte använda sanningstabeller? Motivera kortfattat (en-två meningar). (1p) 4. Antag att S(x) betyder att x är en snubbe, k betyder katt och VV(x,y) att x vill vara y. Vilken/vilka av följande formler uttrycker ”Alla snubbar vill vara katt”? a) S(x) ∧VV(x,k) b) ∀x (S(x) → VV(x, k)) c) ∀x (S(x) → ∃yVV(x, y)) ∧ S(k) d) ∃x (S(x) → VV(x, k)) e) ¬∃x [S(x) ∧ ¬VV(x, k)] Markera korrekt/korrekta alternativ. Ingen motivering krävs. Felaktig markering ger avdrag.2 . (2p) 5. Formalisera följande meningar, med hjälp av relationerna Få(x) för ”x är ett får”, Sk(x) för ”x är i Skottland”, Sv(x) för ”x är svart” och V(x) för ”x är vitt” ’. (3p) a) Oavsett vilket får vi väljer, så kommer det antingen att vara vitt eller svart (eller båda). b) I Skottland finns det såväl får som icke-får. c) Det finns åtminstone ett får i Skottland som är svart. Var god vänd! 1 Du får använda väl valda tolkningar - av typen T(P)=s, T(Q)=f,. . . - om du så önskar. ger som minst 0p. Felaktiga markeringar går alltså inte ut över andra uppgifter 2 Uppgiften 2 6. Skapa strukturer som gör formlerna i följande formelmängder sanna. (1p+2p) a) ∀x [Superman(x) → x = ckent] , ∀y [Superman(y) → ¬Avenger(y)] b) ∀x∀y[Vän(x, y) → Vän(y, x)], ∀x∃yVän(x, y), Vän(roadrunner, tweety), ¬Vän(roadrunner, wcoyote) 7. Visa följande: (3p+1p) a) ∀x[¬P(x) → Q(x)] |= ¬∀xP(x) → ∃y [Q(y) ∧ ¬P(y)] b) ∃x[R(x) → Q(x)], ∀xQ(x), P (c) → P (b) |= ∃yQ(y) 8. Formalisera resonemangen med hjälp av relationerna F(x) för "x är en fisk", H(x) för "x är en haj", k för kurt, g för glenn, Ä(x,y) för "x äter gärna upp y". Om ett resonemang är korrekt, visa det i lämpligt bevissystem. Om ett resonemang är felaktigt, konstruera en struktur som är ett motbevis. (2p+2p) a) Kurt är en fisk. Glenn är en haj. Hajar äter gärna upp fiskar. |= Glenn äter gärna upp Kurt. b) Alla hajar är fiskar. Glenn äter gärna upp Kurt. Hajar äter gärna upp fiskar. |= Glenn är en haj. 9. Naturlig deduktion med våra tio regler är ett sunt och fullständigt bevissystem. Vi skapar nu ett nytt system genom att till våra tio regler lägga regeln OI, som säger att vi kan införa life = life utan att införa några nya premisser. Ett bevis i vårt nya system kan alltså innehålla en rad som {} (17) life = life OI Kommer vårt nya bevissystem att vara fullständigt? Om svaret är nej, ge ett motexempel som visar det. Om svaret är ja, beskriv kortfattat hur du resonerar kortfattat (på ett sätt som visar att du förstått vad fullständighet betyder). (3p) 3 Denna sida lämnad tom, så att formelbladet får separat ark. 4 P (premissregel) –––––––––––– {n} (n) Φ T (tautologiregel) C (konditionalisering) Xk (k) Φ ⋮ Xm (m) Ψ ––––––––––––––––––––– Xm−{k} (n) Φ → Ψ X1 (n1) Φ1 ⋮ Xk (nk) Φk ––––––––––––––––––– X1 ∪ ⋯ ∪ Xk (n) Ψ Q (kvantifikatorregel) om Φ1,…, Φk ⊨ Ψ enl. satslogik ⟨Ψ1,Ψ2⟩ eller ⟨Ψ2,Ψ1⟩ ∊ {⟨∀x Φ(x), ¬∃x ¬Φ(x)⟩, ⟨∀x ¬Φ(x), ¬∃x Φ(x)⟩, ⟨∃x Φ(x), ¬∀x ¬Φ(x)⟩, ⟨∃x ¬Φ(x), ¬∀x Φ(x)⟩} ∀I (introduktion av allkvantifikatorn) ∀E (elimination av allkvantifikatorn) X (m) Φ(c) –––––––––––––––––– X (n) ∀x Φ(x) X (m) Ψ1 ––––––––––––– X (n) Ψ2 X (m) ∀x Φ(x) –––––––––––––––––– X (n) Φ(t) c förekommer inte i Φ(x) eller i premisserna X t är en sluten term ∃I (introduktion av existenskvantifikatorn) ∃E (elimination av existenskvantifikatorn) X (m) Φ(t) –––––––––––––––––– X (n) ∃x Φ(x) Xj (j) ∃x Φ(x) ⋮ Xk (k) Φ(c) ⋮ Xm (m) Ψ ––––––––––––––––––––––––– Xj ∪ Xm−{k} (n) Ψ t är en sluten term c förekommer inte i Ψ, Φ(x), eller i premisserna till rad n IdI (introduktion av identitet) –––––––––––––––– {} (n) t = t t är en sluten term IdE (elimination av identitet) Xk (k) Φ ⋮ Xm (m) t1 = t2 ––––––––––––––––––––– Xk ∪ Xm (n) Ψ Ψ är resultatet av att byta ut förekomster av t1 mot t2 eller av t2 mot t1 i Φ