TDP015 Lektion 1: Logik Lösningsförslag

TDP015 Lektion 1: Logik
Lösningsförslag
30 mars 2015
1
Sanningstabeller och minnesregler
a) Felaktigt. Motexempel: säg att p är sant och q falskt. Då är minst ett av p/q
sant, men samtidigt är p∧q falskt.
b) Felaktigt. Motexempel: se ovan.
c) Korrekt:
p
0
0
1
1
q
0
1
0
1
p↔q
1
0
0
1
d) Felaktigt (om p är sant och q är falskt, håller inte formeln).
e) Korrekt:
p
0
0
1
1
q
0
1
0
1
p→q
1
1
0
1
Notera att det enda sättet som implikationen blir falsk, är när vänsterledet
är sant och högerledet falskt.
f) Korrekt:
p
0
0
1
1
q
0
1
0
1
p∨q
0
1
1
1
Formeln är alltså lika sann som det ”sannaste” av p och q. ∨ fungerar som
ett logiskt max.
g) Korrekt. Det följer egentligen direkt av f.
p
0
1
¬p
1
0
¬p ∨ p
1
1
1
h) Korrekt:
p
0
0
1
1
q
0
1
0
1
p∧q
0
0
0
1
2
2
Sanningstabeller
a) p → q ≡ ¬p ∨ q
p
0
0
1
1
q
0
1
0
1
p→q
1
1
0
1
¬p
1
1
0
0
¬p ∨ q
1
1
0
1
Slutsatsen följer, eftersom sanningsvärdet av formlerna alltid är desamma.
b) (p ∧ q) → r ≡ (¬p ∨ ¬q) ∨ r
p
0
0
0
0
1
1
1
1
q
0
1
0
1
0
1
0
1
r
0
0
1
1
0
0
1
1
p∧q
0
0
0
0
0
1
0
1
(p∧q) → r
1
1
1
1
1
0
1
1
(¬p ∨ ¬q)
1
1
1
1
1
0
1
0
(¬p ∨ ¬q) ∨ r
1
1
1
1
1
0
1
1
Det är rätt mycket att skriva i en tabell som denna. Ett par kommentarer
som gör det lättare:
• Vi måste ha alla kombinationer p-q-r. Två sanningsvärden per variabel
ger 2 ∗ 2 ∗ 2 = 23 = 8 rader.
• Kolonnen p∧q: För att p∧q ska vara sann, måste både p och q vara
sanna. Vi kan alltså genast skriva 0 på de första fyra raderna (där p är
falsk) utan att tänka alltför mycket.
• Kolonnen (p∧q) → r: Implikation fungerar som ett logiskt ≤1 . Högerledet r är antingen sant (1) eller falskt (0), men det är aldrig ”mindre
sant” än 0. På alla rader där p∧q är falskt, kan vi alltså genast fylla i
att implikationen stämmer. Här är det 6 av 8 rader.
På samma sätt vet vi att när r är sann (1), så finns det inget vänsterled
som kan vara sannare. Vi kan fylla i att implikationen är sann på alla
rader där r är sann.
c) [p ∧ (¬q → ¬p)] → q. För enkelhets skull skriver vi inte ut alla kolonner
modell ¬q:
p
0
0
1
1
q
0
1
0
1
¬q → ¬ p
1
1
0
1
p ∧(¬q → ¬ p)
0
0
0
1
[p ∧(¬q → ¬ p)] → q
1
1
1
1
1 Den som läser en fortsättningskurs i logik, till exempel med AI-inriktning, kan stöta på
detta som en definition i vissa logiker.
3
3
Prioriteringsregler
a) [(p ∧ q) ∧ r] → s
b) [(p → (q ∨ r)] ∧ ¬q.
c) p ∨ (q ∨ ¬(r ∧ p)).
d) (p ∨ q) ↔ ¬t
e) p or ((not p) and ((not q) and r))
f) (not (p or q)) or (s and (not (not t))).
Detta kan förenklas till (not (p or q)) or (s and t)
4
4
Ekvivalenser med reglerna
a) ¬ p
(p → p) ∧ ¬p ≡ (¬p ∨ p) ∧ ¬p ≡ tautologi ≡ 1 ∧ ¬p ≡ identitet ≡ ¬p
b) 1
(p → q) ∨ (q → p) ≡ (¬p ∨ q) ∨ (¬q ∨ p) ≡
. . . ≡ ¬p ∨ (q ∨ (¬q ∨ p)) ≡
. . . ≡ ¬p ∨ ((q ∨ ¬q) ∨ p) ≡
. . . ≡ ¬p ∨ (1 ∨ p) ≡ ¬p ∨ 1 ≡ 1
c) 0
p ∧ (¬q ∧ (¬p ∨ q)) ≡
. . . ≡ p ∧ [(¬q ∧ ¬p) ∨ (¬q ∧ q)] ≡
. . . ≡ p ∧ [(¬q ∧ ¬p) ∨ 0] ≡
. . . ≡ p ∧ [¬q ∧ ¬p] ≡
. . . ≡ p ∧ [¬p ∧ ¬q] ≡
. . . ≡ (p ∧ ¬p) ∧ ¬q ≡
. . . ≡ 0 ∧ ¬q ≡
... ≡ 0
5
Bevis/motexempel
a) Ja.
p ∧ q → r ≡ ¬(p ∧ q) ∨ r ≡
. . . ≡ (¬p ∨ ¬q) ∨ r ≡ ¬p ∨ (¬q ∨ r) ≡
. . . ≡ ¬p ∨ (q → r) ≡ p → (q → r)
Vi kan såklart konstruera en sanningstabell över detta också.
b) Nej. Om p är falsk, kommer ¬p vara sann. Då är påståendet falskt.
5
6
XOR
Operatorn XOR (⊕) - exklusivt eller - definieras utifrån följande sanningstabell:
p q p⊕q
0 0
0
0 1
1
1 0
1
1 1
0
a) Visa att ⊕ är associativ, det vill säga att (p ⊕ q) ⊕ r ≡ p ⊕ (q ⊕ r).
p
0
0
0
0
1
1
1
1
q
0
1
0
1
0
1
0
1
r
0
0
1
1
0
0
1
1
p⊕q
0
1
0
1
1
0
1
0
(p ⊕ q) ⊕ r
0
1
1
0
1
0
0
1
q⊕r
0
1
1
0
0
1
1
0
p ⊕ (q ⊕ r)
0
1
1
0
1
0
0
1
b) Hitta två olika uttryck som är ekvivalenta med p ⊕ q, men som inte innehåller
⊕.
• Antingen är p sann och q falsk, eller så är p falsk och q sann.
Formel: p ⊕ q ≡ (p ∧¬q) ∨ (¬p ∧ q)
• Någon av p och q är sanna, men inte båda samtidigt.
Formel: (p∨ q) ∧¬(p∧q).
På enklare form (formeln ovan, plus de Morgans lagar):
(p ∨ q) ∧ (¬p ∨¬q).
Sanningstabeller lämnas åt läsaren.
c) ci är (pi ⊕ ki ). Då är pi samma sak som ci ⊕ ki .
Vad vi vill visa är alltså att ci ⊕ ki ≡ (pi ⊕ ki ) ⊕ ki ≡ pi . Två varianter:
pi
0
0
1
1
ki
0
1
0
1
(pi ⊕ ki )
0
1
1
0
(pi ⊕ ki ) ⊕ ki
0
0
1
1
Vi kan såklart också visa att (pi ⊕ ki ) ⊕ ki ≡ / associativitet, som vi visade
ovan / ≡ pi ⊕ (ki ⊕ ki ) ≡ pi ⊕ 0 ≡ pi .
6