Försättsblad till skriftlig tentamen vid Linköpings universitet Datum för tentamen 2016-12-09 Sal (1) TER1 Tid 14-18 Kurskod 729G06 Provkod TEN1 Kursnamn/benämning Provnamn/benämning Institution Antal uppgifter som ingår i tentamen Jour/Kursansvarig Ange vem som besöker salen Telefon under skrivtiden 0731011291 Besöker salen ca klockan Ca 15. Kursadministratör/kontaktperson (namn + tfnr + mailaddress) Tillåtna hjälpmedel Övrigt Antal exemplar i påsen Programmering och logik Tentamen IDA 9 Anders Märak Leffler (ansvarig, logikdel av 729G06). Annelie Almquist, tfn 013-282934, annelie.almquist@liu.se Inga (formelblad ingår i tentamen).
Tentamen i logik 729G06 Programmering och logik 2016-12-09 Poänggränser: På tentan kan du som mest få 25 poäng. Om du har fått 12 poäng är du garanterad åtminstone godkänt betyg, 19 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. Lycka till. 2
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ående 1. (3p) a) A (A A) b) (B C) B C c) 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 B b) C = C D 3. Är detta ett korrekt resonemang? A A = B B Svara tydligt om det är korrekt eller ej, och visa ditt svar med hjälp av sanningstabell. (1p) 4. Låt a stå för Sir Anthony, D(x) för att x är dyr, MI(x,y) för att x medverkar i y, och S(z) stå för säsong. Vilken eller vilka av alternativen nedan uttrycker närmast Om Sir Anthony är dyr, kommer han inte att medverka i alla säsonger. 2 a) D(a) x (S(x) MI(a, x)) b) D(a) x (S(x) MI(a, x)) c) D(a) ( xs(x)) MI(a, x) d) D(a) S(3) MI(a, 3) e) D(a) x[s(x) MI(a, x)] f) D(a) [ ( xs(x)) MI(a, x)] g) (S(x) MI(a, x)) D(a) Markera korrekt/korrekta alternativ. Ingen motivering krävs. Felaktig markering ger avdrag. 3. (2p) 1 Du får använda väl valda tolkningar - av typen T(P)=s, T(Q)=f,... - om du så önskar. 2 Detta stämmer såklart inte nödvändigtvis överens med verkligheten. 3 Uppgiften ger som minst 0p. Felaktiga markeringar går alltså inte ut över andra uppgifter 3
5. Formalisera följande (potentiellt motsägelsefulla) meningar, med hjälp av relationerna R(x) som står för att x är en robot, Sk(x, y) för att x skapat y, a för Arnold, b för Bernard, rf för Robert.(3p) a) Alla robotar är skapade av Arnold eller Robert (eller båda). b) Arnold är inte en robot, Bernard är en robot, och Arnold är samma som Bernard. c) Det finns en robot som skapat en annan robot. 6. Skapa strukturer som gör formlerna i följande formelmängder sanna. (3p) a) { x[human(x) M echanical(x)], y[m echanical(y) Human(y)], Human(will)} b) { x[x = arn], y[y = dol]} c) { y[human(y) Robot(y)], z[human(z) Robot(z)], Human(will), Robot(dol)} 7. Visa följande: (2+2p) a) = x [P (x) [Q(x) P (x)]] b) x y z[r(x, y) R(y, z) R(x, z)], x y[r(x, y) R(y, x)], R(a, b) = R(a, a) 8. Formalisera resonemangen med hjälp av relationerna M(x) för att x är människa, G(x) för att x är en gäst, Sn(y) för att y är snäll. Om ett resonemang är korrekt, visa det med hjälp av naturlig deduktion. Om ett resonemang är felaktigt, konstruera en struktur som är ett motbevis. (4p) a) Alla gäster är människor. Alla gäster är snälla. = Det finns någon människa som är snäll. b) Alla gäster är människor. Inte alla gäster är snälla. = Det finns någon människa som inte är snäll. 9. Naturlig deduktion med våra tio regler är ett sunt och fullständigt bevissystem. Vi skapar nu ett nytt system där vi utöver våra tio regler lägger till regeln implikationsuppgradering IU, som säger att vi kan ersätta en implikation med en ekvivalens utan att förändra premissmängden. Det vill säga: Du har två deluppgifter: X n (m) Φ Ψ X n (n) Φ Ψ IU m a) Bevissystemet kommer inte längre att vara sunt (korrekt). Varför inte? Ge ett exempel som visar detta. (1p) b) Bevissystemet kommer fortfarande att vara fullständigt. Hur kan det vara det? Motivera kortfattat (max tre meningar). (2p) I båda fallen måste det framgå tydligt av ditt svar att du har förstått vad sundhet respektive fullständighet betyder i sammanhanget. 4
P (premissregel) {n} (n) Φ T (tautologiregel) X 1 (n 1 ) Φ 1 X k (n k ) Φ k X 1 X k (n) Ψ om Φ 1,,Φ k Ψenl. satslogik C (konditionalisering) X k (k) Φ X m (m) Ψ X m {k} (n) Φ Ψ Q (kvantifikatorregel) X (m) Ψ 1 X (n) Ψ 2 Ψ 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) X (m) Φ(c) X (n) x Φ(x) c förekommer inte i Φ(x) eller i premisserna X E(elimination av allkvantifikatorn) X (m) x Φ(x) X (n) Φ(t) I(introduktion av existenskvantifikatorn) X (m) Φ(t) X (n) x Φ(x) E(elimination av existenskvantifikatorn) X j (j) x Φ(x) X k (k) Φ(c) X m (m) Ψ X j X m {k} (n) Ψ c förekommer inte i Ψ, Φ(x), eller i premisserna till rad n IdI(introduktion av identitet) {} (n) t = t IdE(elimination av identitet) X k (k) Φ X m (m) t 1 = t 2 X k X m (n) Ψ Ψ är resultatet av att byta ut förekomster av t 1 mot t 2 eller av t 2 mot t 1 i Φ