Tentamen i logik 729G06 Programmering och logik

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 Φ