729G06 Logik729G06 Logik
FÖRELÄSNING 8
ANDERS MÄRAK LEFFLERIDA/HCS
160309
Idag
Sammanfattning*/uppsamling
2
Mer problemöversikt(och lite definitioner)(och lite definitioner)
Inte ersättning för andra föreläsningar!
3
Vad är en logik?
Syntax + semantik
4
Vad är en logik?
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),...)• 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 ö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 • 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 ...– 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) = tescoT(fkatt) = forex, T(tkatt) = tescoT(Katt) = {forex, tesco}, T(Ung) = {forex}
2. m’=(M’, T’)M = heltalT(fkatt) = 1, T(tkatt) = 2T(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)
∀ ∀
∀
∀ ∃ ∃
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)∀
⊭ 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
∧
• 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– 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:– 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.
∃
∃
• 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]• 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, Sommar ger 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 • 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
∧
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•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)∀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
ETT PAR VIKTIGA BEGREPP
Inte uttömmande
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)å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• 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 • Kontingent – Hitta en struktur där formeln är sann, och en där den är falsk.
40
FORMALISERING
Generella råd, och vanliga mönster
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())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. 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)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.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 xSamband? Om x är katt, uttråkad och hungrig, så är xfarlig.
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¬ [Katt(x) ∧ Uttråkad(x) ∧Hungrig(x) - > Farlig(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