729G06 Logik FÖRELÄSNING 8 ANDERS MÄRAK LEFFLER IDA/HCS 160309
Idag Sammanfattning*/uppsamling 2
Mer problemöversikt (och lite definitioner) Inte ersättning för andra föreläsningar! 3
Vad är enlogik? Syntax + semantik 4
Vad är enlogik? Syntax vad vi får skriva. Korrekta formler. (A v B) v C, men inte A v v C Semantik vad formlerna betyder. (A v B) v C är sann omm A, B eller C är sanna. 5
Syntax Termer Variabler (x, y, z,...) Konstanter (a, b, c, billgates, nemo,...) Funktioner, argumenten är termer (f(x,y), 1+2,...) Atomära formler Predikat med argument (Far(x,y), Katt(x), Udda(x), P(x,y,z),...) Atomära satser (B som i Det blåser, V som i Vampyrer finns ) Identitet (a=a, successor(1) = 2,...) Formler Atomära formler (a=a, Far(x,y), B,...) Formler med konnek<v (a=a Far(x,y)...) Kvantifierade formler ( x y Far(x,y), x[udda(x) Jämn(successor(x))] 6
Syntax Slutna, öppna Fria variabler inte bundna. x y Far(x,y), y Far(x,y), x=a,... En öppen term har fria variabler (successor(x),...) En sluten term är en utan fria variabler (successor(a),...) En sluten formel är en utan fria variabler ( x [successor(x)=successor(x)],...). Kallas en sats. 7
Minnesregler (väldigt informellt) Tänk att vi knyter uttrycken till en sifferdomän. Slutna termer sådant som hänvisar till siffror (a, f(a),...). Satser hänvisar till sant/falskt. ( alla primtal är jämna, P(a) ). 8
Semantik och stukturer Struktur m=(m,t) Domän M. Vad finns i världen? Alla heltal (1,2,...) Tre husdjur (tesco, forex, laika) Alla heltal och husdjuren... Tolkning T. Hur tolkar vi slutna formler? T(fkatt) = forex,... T(Katt(fkatt)) = s om forex i T(Katt) T( xkatt(x)) = s om tesco i T(Katt), forex i T(Katt), laika i T(Katt),... (sann för alla i domänen)... 9
Modeller En struktur m=(m,t) som gör en formel sann kallas en modell. Formel: Katt(fkatt) Ung(tkatt) 1. m=(m,t) M = {tesco, forex} T(fkatt) = forex, T(tkatt) = tesco T(Katt) = {forex, tesco}, T(Ung) = {forex} 2. m =(M, T ) M = heltal T(fkatt) = 1, T(tkatt) = 2 T(Katt) = {1, 3, 5,...}, T(Ung)={ 100 } 10
Tolkningar Hitta strukturer som gör följande formelmängder sanna: 1. y Metall(y) x Båt(x), 2. y [Val(y) Däggdjur (y)], x Båt(x), x Val(x) 3. x P(x) x Q(x) 4. x y[äldre(x,y) Yngre(y,x)],Äldre(tesco, forex) 5. x [chef(x) = bartlet] 11
När strukturer? Visa att en formel kan uppfyllas (sann), kan vara falsk. 12
Läran om korrekta resonemang Följer slutsatserna av ens antaganden? 13
Logisk konsekvens Om Q är sann i varje modell för P skriver vi P Q Om Q inte garanterat är sann i en modell för P, skriver vi P Q 14
Felaktiga resonemang Hitta motexempel! Däggdjur(nemo), y[människa(x)->däggdjur(y)] Människa(nemo) Hitta struktur där Däggdjur(nemo) är sann, y[människa(x)->däggdjur(y)]är sann, men Människa(nemo) är falsk 15
Korrekta resonemang Sanningstabeller A, A -> B, C B C Sanningstabell, alla tilldelningar (här: 2*2*2=8 rader) Hitta rader där A är sann, A -> B är sann och C är sann samtidigt. Fråga: gäller det att B C sann där? Isåfall korrekt. Annars inte. Naturlig deduktion. Människa(sokrates), y[människa(x)->dödlig(y)] Dödlig(sokrates) 16
Naturlig deduktion Tio regler Vanlig ordning i bevis: Lista premisser Eliminera kvantifierare Satslogik Introducera kvantifierare (Kontrollera att inga felaktiga premisser är med.) 17
Schematisk bild över ett bevis (Magnusson, jfr tidigare föreläsning) 18
Naturlig deduktion Vanlig ordning för att komma fram till ett bevis: Se på slutsatsen Upprepa: Hur kan vi nå dit? -> Ger nytt/nya delmål Om man hittade till något som börjar i premisserna, skriv ned bevis 19
Naturlig deduktion Ex 1. A v B, A -> B, B -> C C (080307, mod.) Ren satslogik, eliminera en i taget 20
Naturlig deduktion Ex 2. x[vaken(x) -> Hungrig(x)], Dag -> xvaken(x), Dag xhungrig(x) Ex 2. Kedja bakåt, existensintroduktion, existenselimination. E-trick: Inför exemplet (Vaken(lars) -> Hungrig(lars)) som premiss. Härled fram en slutsats utan lars i. xhungrig(x), inte Hungrig(lars) Använd E för att få bort felaktig premiss. 21
Naturlig deduktion Ex 3. A -> xp(x), B -> A B -> P(c) Ex 3. Kedja bakåt. Slutsatsen innehåller implikation använd C-regel C-regel Slutsatsen är B -> P(c). Lägg till B som extrapremiss. Härled fram P(c) [har med B-raden bland premisserna] Använd C-regeln för att få B -> P(c) [utan B-raden bland premisserna!] 22
Användbara satslogiska samband Alla satslogiska samband Omvandlingar som A -> B till A v B... (T på en rad) Användande av implikationer. Sommar -> Varmt, Sommarger Varmt (flera rader) Eliminerande, A v B v C, A ger B v C... Fallbevis (A v B) -> C, X -> A, X -> B ger X -> C... 23
Användbara satslogiska samband (A v B) A B (A B) A v B 24
Metalogik och bevissystem Goda egenskaper 25
Metalogik och bevissystem Önskvärda egenskaper Fullständigt. Allt som är sant, går att härleda. Inga missade sanningar. Sunt/korrekt. Allt som går att härleda är sant. Vi kan lita på svaret. 26
Metalogik och bevissystem Vi inför en ny regel, utöver de vi hade Är systemet garanterat fullständigt? Är systemet garanterat sunt/korrekt? Vi byter ut en regel Är systemet garanterat fullständigt? Är systemet garanterat sunt/korrekt? 27
Konsistenta mängder Tänk motsägelsefria (OBS, inte definitionen) 28
Är { x[p(x)->q(x)],p(a)} konsistent? 29
Konsistenta mängder Motsägelsefria... om motsägelsefri, kan vi hitta en modell* om inkonsistent, kan vi visa A A för något A D v s en tydlig motsägelse. Form på formeln. 30
Är { x[p(x)->q(x)],p(a), Q(a)} konsistent? 31
VISA KORREKT/FALSKT 32
Problemlösning Rimlighetskontroll Falskt: Visa motexempel Sant: Naturlig deduktion eller sanningstabell Oavsett: formalisera 33
Problemlösning Alternativa läsningar Vad skulle formeln betyda, om det istället för x[p(x) -> Q(x)], Q(c) = P(c) stod x[val(x) -> Däggdjur(x)], Däggdjur(tiger) = Val(tiger) (Samma uppgift, men mer uppenbart att resonemanget är fel.) 34
Problemlösning Venndiagram, grafer Venndiagram ofta användbart vid enställiga predikat (ett argument). Rita! x[p(x) -> Q(x)], Q(c) = P(c) Grafer ofta användbara för tvåställiga x y[r(x,y)->r(y,x)],r(a,b) = R(b,b)? Ofta praktiskt: R(x,y) betyder x pekar på y. Ovan: om x pekar på y, så pekar y på x. a pekar på b. 35
Inte uttömmande ETT PAR VIKTIGA BEGREPP 36
Klassificera formler 37
Tautologi Sann oavsett hur man tolkar det Kontradiktion Falskt oavsett hur man tolkar Kontingent Kan vara sann eller falsk (sann i åtminstone en tolkning) 38
Satslogik Sanningstabell för formeln. Tautologi Sann på alla rader (alla tilldeln.) Kontradiktion Falsk på alla rader Kontingent Sann på någon rad, falsk någon 39
Predikatlogik Tautologi Naturlig deduktion lyckas Kontradiktion Visa att negationen av formeln är en tautologi Kontingent Hitta en struktur där formeln är sann, och en där den är falsk. 40
Generella råd, och vanliga mönster FORMALISERING 41
Formalisering Rena s/f-påståenden? Atomära satser. Humlorna vantrivs blir H Några/vissa? Tänk i termer av egenskaper. Predikat testar egenskaper ( H.islower()) Det finns några katter Katter vantrivs om de är uttråkade (om så) 42
Mönster: Alla P är Q Formalisera Alla katter är snälla 1. Egenskaper: att vara katt, att vara snäll. Blir predikat. tesco är katt blir Katt(tesco) 2. om x är Katt såär x Snäll. Implikation. 1. Oavsett vad x är, om Katt(x) så Snäll(x) x(kav(x) Snäll(x)) 43
Mönster: Några P är Q Formalisera Några pirater är snälla 1. Egenskaper: att vara pirat, att vara snäll. Blir predikat. Guybrush är pirat blir Pirat(guybrush) 2. Några, så det finns exempel på. 1. Det finns exempel på pirater som är snälla. 2. Det finns x som är både Pirat och Snäll. x(pirat(x) Snäll(x)) 44
Konstanter? Formalisera Michael Jackson är kungen av pop. Ingen är kung av både pop och rock. Egenskaper: någon kan vara kungen av något. K(x,y) x är kung av y. Konstanter: Michael Jackson (mj), pop (p), rock (r). K(mj, p) x [K(x,p) K(x,r)] 45
Samband När en katt är uttråkad och hungrig, så är den farlig. Egenskaper: Katt(x), Uttråkad(x), Hungrig(x), Farlig(x). Samband? Om x är katt, uttråkad och hungrig, så är x farlig. Allmängiltigt samband universell kvantifierare. x[katt(x) Uttråkad(x) Hungrig(x) -> Farlig(x)] 46
Omskrivningar När en katt är uttråkad och hungrig, så är den farlig. Skriv om utan universell kvantifierare. x x [Katt(x) Uttråkad(x) Hungrig(x) -> Farlig(x)] x [Katt(x) Uttråkad(x) Hungrig(x) Farlig(x)] Det finns inget i världen som samtidigt kan vara katt, uttråkad, hungrig och ofarlig. 47
Avslutning, disclaimer 48