729G06 Logik FÖRELÄSNING 1

729G06 Logik
FÖRELÄSNING 1
ANDERS MÄRAK LEFFLER
IDA/HCS
150120 [uppd]
Vad har man logik till?
2
Vad är logik?
Som ämne, område...
3
Läran om korrekta resonemang
Följer slutsatserna av ens
antaganden?
4
Vad är en logik?
Syntax + semantik
5
Syntax
Vad är ett korrekt uttryck?
6
Semantik
Vad betyder (de korrekta) uttrycken?
7
Vilken är vår logik?
(”den vanliga”)
8
Denna kurs
• Använda (första ordningens) predikatlogik
• Formalisera resonemang
• Visa att en slutsats följer.
– Sanningstabeller
– Naturlig deduktion
• Motexempel. Visa att slutsatsen inte följer.
9
Logikkursen
Upplägg
10
SATSLOGIK
11
Satslogik
A → ((A v B) v C)
(A v B) ∧ A
A→B
(OBS, inga ∀, ∃)
12
Grundläggande syntax
• Atomära satser. Kan vara sanna eller falska.
– Vampyrer finns.
– Folk är rädda.
• Använd ofta bara satssymboler
– Låt V betyda ”Vampyrer finns.”
– Låt R betyda ”Folk är rädda”.
• Konnektiven ∧, ∨ , ¬, →, ↔
• (Parenteser)
13
- Konjunktion (och)
Syntax, exempel
V : Det finns vampyrer.
R: Folk är rädda.
Semantik (jfr sanningstabell)
φ∧ψ sant om både φ och ψ är sanna.
Annars falsk.
V ∧ R - Det är både så att det finns vampyrer,
och folk är rädda.
Syntax, generellt
φ∧ψ, φ och ψ formler.
Φ och ψ kallas konjunkter
14
- Disjunktion (eller)
Syntax, exempel
V : Det finns vampyrer.
R: Folk är rädda.
Semantik (jfr sanningstabell)
φ ∨ ψ sant så fort något av φ och ψ är
sant. Annars falsk.
V ∨ R – Antingen finns det vampyrer eller så
är folk rädda. Eller både och.
Syntax, generellt
φ ∨ ψ, φ och ψ formler.
Φ och ψ kallas disjunkter
15
¬ - Negation (inte)
Syntax, exempel
V : Det finns vampyrer.
R: Folk är rädda.
Semantik (jfr sanningstabell)
¬φ falsk precis när φ sann. Annars sann.
¬V : Det är inte så att vampyrer finns.
¬(V ∧ R)?
Det är inte både så att vampyrer finns och
folk är rädda samtidigt. (Men möjligt att folk
är rädda utan vampyrer.)
Syntax, generellt
¬φ, φ formel
16
→ - Implikation
Syntax, exempel
V : Det finns vampyrer.
R: Folk är rädda.
V → R – Om det finns vampyrer så är folk
rädda.
OBS! Vi säger inget om vad som händer om
vampyrer inte finns.
Semantik (jfr sanningstabell)
•φ
→ ψ enbart falsk om ψ är falsk och φ
sann. Annars sann.
•φ → ψ är sann om konsekventen ψ är
minst lika sann som φ
Syntax, generellt
φ → ψ, φ och ψ formler.
Φ kallas antecedent, ψ kallas konsekvent
17
↔ - Ekvivalens
Syntax, exempel
V : Det finns vampyrer.
R: Folk är rädda.
Semantik (jfr sanningstabell)
φ ↔ ψ sann när ψ och φ har samma
sanningsvärde. Annars falsk.
V ↔ R – Folk är rädda om och enbart om
(omm) det finns vampyrer.
Finns vampyrer, så är folk rädda.
Är folk rädda, så finns vampyrer.
Syntax, generellt
φ ↔ ψ, φ och ψ formler.
18
Problem
AvB
C
19
Parenteser och prioritet
(A v B) ∧ C
versus
A v (B∧C)
∧
• Styr prioritering. I övre måste C vara sant.
20
Parenteser och prioritet
Formellt: parenteser krävs.
Konvention: läs in dem när de saknas.
A v B ∧ C läses A v (B ∧ C)
A v B → C läses (A v B) → C
¬A∧B läses (¬A)∧B
21
Parenteser och prioritet
In propositional formulas the order of precedence
from high to low is as follows: negation,
conjunction, nand, disjunction, nor, implication,
equivalence, exclusive or.
(Ben-Ari – Mathematical logic..., kap 2.2)
¬
v → ↔
22
Syntaktisk korrekthet
OK: ¬A, A v(B C), A→A
”OK”: A v B v C, ¬¬A
[läs (A v B) v C, ¬(¬A)]
FEL: →A, Q¬vP, Q eller P
23
Satslogik
FORMALISERING [I]
24
Folk blir rädda om det är vampyrer i närheten. Och
nu är det ju vampyrer i närheten. Så då borde väl
folk vara rädda.
25
Steg (i satslogik)
1. Identifiera utsagor som kan vara
sanna/falska. Det vill säga atomära satser.
Vampyrer här. Folk rädda.
1. Skriv satssymboler
R, V
2. Identifiera relationer, ersätt med konnektiv.
”Folk blir rädda om det är vampyrer i närheten...”
implikationslikt.
V→R
OBS! Lätt modifikation av betydelsen. Fångar vi det vi vill?
26
Satslogikens gränser
27
Bill Gates är rik
Alltså finns någon som är rik.
G = Gates är rik, N = Någon är rik? Satslogiken räcker inte!
28
Alla människor är dödliga.
Sokrates är en människa.
Alltså är Sokrates dödlig.
29
Mängder av objekt
Och hur de hänger ihop
30
Syntax
PREDIKATLOGIK
31
Predikatlogik
Utöka syntaxen med
• Predikat (P, R, Q,...)
• Konstanter (a,b,c,billgates,....)
• Funktioner (f,g,+,*,...)
• Variabler (x,y,z,...)
• Identitet (=)
• Kvantifierare (∃, ∀)
• Konnektiv som förr (¬,∧,v,→,↔)
32
Bill Gates är rik
Alltså finns det någon som är rik
33
Rik(billgates) → ∃xRik(x)
34
∀x(Människa(x) → Dödlig(x))
Människa(sokrates)
Alltså Dödlig(sokrates).
35
Hantera mängder, relationer, funktioner...
Inför termer, formler
36
Termer
Vad är termer?
• Variabler
Tänk x,y,z...
• Konstanter
Tänk 1,2,3,...
• f(t1,...,tn), om f är en funktion som tar n
argument, och alla ti är termer.
Tänk addera(1, addera(2, 0)),...
37
Atomära formler
”Ersätter” satssymboler.
Detta är atomära formler
• Q, där Q är en atomära sats
• P(t1,...,tn) är en atomär formel.
P predikat som tar n argument, alla ti termer.
Tänk ÄrUdda(0), ÄrUdda(addera(1,2)),...
• t=u
t och u termer.
Tänk 1 = addera(1,52)...
38
Formler
Detta är formler
• Alla atomära formler
• Formler som byggs upp med hjälp av
konnektiven (¬,∧,v,→,↔)
• ∀x
∀ φ, ∃xφ
∃ där φ är en formel
39
Not om Bennet
Bennet talar om L-termer, L-formler...
• L – lexikon/alfabet där vi hämtar alla konstantsymboler, funktionssymboler.
• Lite mer begränsat och stiliserat språk.
• Funktionssymboler f53, där 3 betyder ”3
argument” (treställig, aritet 3)
1f
40
Predikatlogik
FORMALISERING [II]
41
Steg (i predikatlogik)
1. Identifiera utsagor som kan vara sanna/falska. Det
vill säga atomära formler. Fundera på egenskaper
saker i världen kan ha.
Ersätt med predikat och termer.
2. Identifiera satsernas relationer och ersätt med
konnektiv och kvantifierare.
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(Katt(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
Antal
Formalisera ”Det finns exakt en spökpirat.”
• ∃xSpökpirat(x)?
Minst en, kanske flera.
• Omformulering:
1.
2.
•
Det finns minst en spökpirat.
...och om någon är en spökpirat, så är den just denna.
Användning av vanliga regler på detta:
1.
2.
Egenskapen ”är spökpirat” blir predikatet Spökpirat(t)
Det finns en spökpirat , och alla som har egenskapen att vara
Spökpirat, är just denna x.
∃x[Spökpirat(x) ∧ ∀y(Spökpirat(y) → y = x)]
45
www.liu.se