Objektorienterad modellering och diskreta strukturer Dagens

Dagens program
Objektorienterad modellering och
diskreta strukturer
I
Diskreta strukturer
I
Introduktion
Satslogik
I
I
Lennart Andersson
I
uttryck
precedens och associativitet
härledningar
Reviderad 2012–09–24
2012
OMD 2012
F7-1
Modeller
I
Åk
1
2
Matematiska modeller
I
Kontinuerliga modeller
kontinuerliga funktioner
derivator, integraler
differentialekvationer
Diskreta modeller
mängder, relationer, funktioner
träd, grafer
språk, automater
logik
DM
L
Programmodeller
I
I
OMD 2012
F7-2
Diskret matematik på D-programmen
I
I
OMD 2012
KTH
L 6 hp
DM 8 hp
CTH
DM+L 7,5 hp
DM 3 hp
LiTH
DM 6 hp
L 6 hp
LTH
DM+L 3 hp
diskret matematik
logik
Högskoleingenjörerna i Helsingborg har 4 poäng diskret matematik
och logik.
Datastrukturer
Objektorienterade modeller
F7-3
OMD 2012
F7-4
Diskreta strukturer
Symbolen =
I
π = 3.141592653589793238462643383279502884197169399
I
Logik – logiska uttryck och resonemang
f (x) = x + 1
I
I
Mängder, funktioner och relationer
x2 = 1
I
I
Formella språk, reguljära uttryck och grammatiker
I
1+1=2
I
Turingmaskiner och frågan om P = NP
I
1+1=3
I
x =x +1
OMD 2012
F7-5
M
Symbolen =
M
π = 3.141592653589793238462643383279502884197169399
I
f (x) = x + 1
I
f = x 7→ x + 1
M
M
M
f = λx . x + 1
OMD 2012
F7-6
Satslogik
I
I
OMD 2012
F7-7
p, q, . . .
∧
∨
¬
→
↔
OMD 2012
variabler
och
eller
inte
om . . . så, implicerar
ekvivalent
F7-8
Satslogiska uttryck
Mål
P, Q, . . . står för godtyckliga satslogiska uttryck.
Efter att ha studerat detta kapitel och arbetat med förelagda
problem och programmeringsuppgifter skall du kunna
1. översätta påståenden i naturligt språk till satslogisk notation.
p, q, . . .
(P ∧ Q)
(P ∨ Q)
¬P
(P → Q)
(P ↔ Q)
variabler
och, konjunktion
eller, disjunktion
inte, negation
om . . . så, implikation
ekvivalens
2. konstruera enkla bevisträd med naturlig härledning
3. avgöra om ett komplicerat bevisträd är korrekt konstruerat
4. analysera ett uttryck när regler för precedens och
associativitet är givna.
OMD 2012
F7-9
EM i fotboll 2008
OMD 2012
Aktivitet
Om Sverige vinner över eller spelar oavgjort mot
Ryssland så går Sverige till kvartsfinal.
Om Sverige vinner mot Ryssland så får Sverige möta
Holland i kvartsfinalen och om Sverige förlorar så får
Ryssland möta Holland.
Detta är en sammansättning av tre stycken påståenden. Det blir
tydligare med formuleringen
p
q
r
s
Om Sverige vinner över Ryssland eller om Sverige spelar
oavgjort mot Ryssland så går Sverige till kvartsfinal.
p
q
r
F7-10
Sverige vinner över Ryssland
Sverige spelar oavgjort mot Ryssland
Sverige går till kvartsfinal
Sverige vinner över Ryssland
Sverige förlorar mot Ryssland
Sverige möter Holland i kvartsfinalen
Ryssland möter Holland i kvartsfinalen
(p → r ) ∧ (q → s)
(p ∨ q) → r
OMD 2012
F7-11
OMD 2012
F7-12
Grundläggande begrepp
Exempel
p
q
¬p
(p ∧ q)
(p ∨ q)
satsvariabler
(p → q)
(p ↔ q)
(¬p ∨ p)
¬(p ∧ q)
¬¬p
operatorer, ¬, ∧, ∨, →, ↔
(p ∧ (p ∨ q))
satslogik
sanningsvärden, T och F
premisser
sanning, falskhet
slutsatser
satslogiska uttryck
konnektiv
OMD 2012
F7-13
Syntaktiskt felaktiga
(p)
¬(¬p)
OMD 2012
F7-14
Sanningstabeller
P ¬P
F T
T F
((p ∨ ¬p) ↔ T)
P Q
F F
T F
F T
T T
enligt vår grammatik
OMD 2012
(¬p ∧ ¬(p ∨ q))
F7-15
OMD 2012
P ∧Q
F
F
F
T
P ∨Q
F
T
T
T
P→Q
T
F
T
T
P↔Q
T
F
F
T
F7-16
En primtalssats
En primtalssats
Låt
Två tal är primtalstvillingar om båda är primtal och skillnaden
mellan dem är 2. Låt
M
I
P = det finns oändligt många primtalstvillingar
I
Q = det finns oändligt många primtal
M
M
I
P = det finns oändligt många primtalstvillingar
I
Q = det finns oändligt många primtal
M
Sats
Sats
P⇒Q
P⇒Q
Bevis.
Antag att det finns oändligt många primtalstvillingar.
I
Är satsen sann, dvs är det en sats? Ja, det skall vi strax bevisa.
Alla par har olika första komponent.
I
Är P sann? Det vet ingen. P skulle kunna vara falsk.
Alla förstakomponenter är primtal.
I
Är Q sann? Ja, det bevisade Euklides för 2300 år sedan.
Alltså finns det oändligt många primtal.
OMD 2012
F7-17
Det finns oändligt många primtal
OMD 2012
F7-18
En primtalssats till
Ett motsägelsebevis (reductio ad absurdum).
Jag har lånat och översatt Euklides bild från hans presentation på
en vetenskaplig konferens i Alexandria 280 f. Kr.
Sats
M
I
P = det finns ändligt många primtalstvillingar
I
Q = det finns ett största primtalstvillingpar
M
Sats
Det finns oändligt många primtal.
P⇒Q
Bevis.
1. Antag att det ej finns oändligt många primtal.
2. Då finns det ett största primtal. Kalla det p.
M
3. Låt q vara produkten av de första p talen, q = p!.
I
Är satsen sann, dvs är det en sats?
4. Då är q + 1 inte delbart med något av dem.
I
Är P sann?
5. Alltså är q + 1 också ett primtal och större än p.
I
Är Q sann?
6. Detta motsäger Ë. Alltså måste Ê vara falskt.
OMD 2012
F7-19
OMD 2012
F7-20
När är P ⇒ Q sann?
⇒ eller →
När är P ⇒ Q sann?
När man använder ⇒ i matematiken, P ⇒ Q, så finns det alltid en
orsaksrelation mellan P och Q.
Detta motiverar
I
P är sann och Q är sann
I
P är falsk och Q är sann
I
P är falsk och Q är falsk
Det är bara fallet P är sann
och Q är falsk som inte kan
förekomma.
Definition
P Q
T T
F T
F F
T F
OMD 2012
P→Q
T
T
T
F
I satslogiken skriver vi P → Q och det behöver inte finnas någon
relation alls mellan P och Q. P och Q innehåller variabler som kan
anta sanningsvärden, men vi bortser helt från vad variablerna står
för.
F7-21
Aktivitet
F7-22
Aktivitet
Sanningstabell för (P ∧ Q) → P. Använd den för att motivera de
två återstående raderna i sanningstabellen för →.
P Q
F F
T F
F T
T T
OMD 2012
OMD 2012
P ∧Q
(P ∧ Q) → P
T
T
T
T
Skriv om med alla parenteser:
p ∧ q ∨ r → ¬s ∨ t ↔ u =
¬p → q ↔ r ∨ ¬s =
Tag bort alla onödiga parenteser:
(p ∨ (¬q ∧ ((r → s) ↔ (t → u)))) =
F7-23
OMD 2012
F7-24
Aktivitet
M
Det är inte uppenbart att R = (¬p → ¬q) → ((¬p → q) → p) är
en tautologi, men en sanningstabell verifierar att så är fallet.
P ∧Q =Q ∧P
p q ¬p ¬q ¬p → ¬q ¬p → q (¬p → q) → p R
F F
T F
F T
T T
OMD 2012
Sats
P ∨Q =Q ∨P
(P ∧ Q) ∧ R = P ∧ (Q ∧ R) (P ∨ Q) ∨ R = P ∨ (Q ∨ R)
¬¬P = P
F7-25
OMD 2012
F7-26
Aktivitet
Sats
P ∧ (Q ∨ R) = (P ∧ Q) ∨ (P ∧ R)
P ∨ (Q ∧ R) = (P ∨ Q) ∧ (P ∨ R)
Visa att p → p ∧ q och q ∧ p → p inte är ekvivalenta.
¬(P ∧ Q) = ¬P ∨ ¬Q
¬(P ∨ Q) = ¬P ∧ ¬Q
OMD 2012
F7-27
OMD 2012
F7-28
Aktivitet
Aktivitet
Vilka uttryck är tautologier?
När gäller det att (p → q) → r och p → (q → r ) är olika?
p → (q ∧ r ) ↔ (p → q) ∧ (p → r )
(p ∧ q) → r
↔ (p → r ) ∧ (p → q)
OMD 2012
F7-29
Inferensregler för →
OMD 2012
F7-30
Instanser av inferensregler för →
p
p→q
q
P
P→Q
Q
[MP]
(p ∧ q)
(p ∧ q) → ¬p
¬p
OMD 2012
[MP]
F7-31
OMD 2012
[MP]
F7-32
Inferensregler för ∧
Härledningar med ∧
p∧q
q
P ∧Q
P
[∧E1 ]
P ∧Q
Q
[∧E2 ]
P
Q
P ∧Q
q∧p
[∧I ]
OMD 2012
F7-33
Aktivitet
Gör en härledning som visar att {(p ∧ q) ∧ r } ` p ∧ (q ∧ r ).
F7-35
OMD 2012
p∧q
p
[∧E1 ]
[∧I ]
p∧q
p∧q
p∧q
p∧q
q
p
p
q
q∧p
OMD 2012
[∧E2 ]
q∧p
F7-34