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