TDDC36 Logik Satslogik Vad är det? Korrekt

TDDC36 Logik
Satslogik
Ulf Nilsson
http://www.ida.liu.se/˜TDDC36/
TDDC36 Logik 2006 – p.1/27
TDDC36 Logik 2006 – p.2/27
Korrekt resonemang?
Vad är det?
Läran om korrekta resonemang.
Dvs. om ett påstående (slutsatsen) med
nödvändighet följer ur ett antal andra påståenden
(premisserna).
Någon hade krossat skolsalens fönster under rasten. Det
visade sig snabbt att den skyldige/de skyldiga stod att
finna bland Adam, Bertil och Calle. Av erfarenhet visste
läraren att om Adam var skyldig så måste också Calle
vara skyldig. Efter en stunds utfrågning kunde man
konstatera att Calle hade varit på toaletten när rutan
krossades. Läraren drog då slutsatsen att det var Bertil
som krossat fönstret.
Har han rätt???
TDDC36 Logik 2006 – p.3/27
Oformaliserade exempel
TDDC36 Logik 2006 – p.4/27
Korrekt resonemang?
Antag att jag erbjuder Dig två pris: Pris 1 som innebär att
Du får 1000 kronor, och Pris 2 som innebär att du får 100
kronor. Men för att få något pris överhuvudtaget ska Du
göra ett påstående. Om påståendet är sant så får du ett
av de två prisen (men jag bestämmer vilket!), men om
påståendet är falskt så får du inget pris alls. Finns det
något påstående du kan göra för att vara garanterad Pris
1, och vilket påstående är det i så fall?
Minst en av A, B, C är skyldig
Om A är skyldig så är C skyldig
C är oskyldig
B är skyldig
A bor mer än 2 km från B
B bor mer än 3 km från C
A bor mer än 5 km från C
TDDC36 Logik 2006 – p.5/27
Tillämpningsområden
TDDC36 Logik 2006 – p.6/27
Logiska påståenden
Deklarativa satser (fullständiga meningar som kan
vara sanna eller falska). Exempel
Hårdvarudesign
Semantik för programspråk
Maten var god och stämningen var hög
Specifikationsspråk
Denna mening består av mindre (atomära)
deklarativa satser
Verifikation av korrekthet
Kunskapsrepresentation
”Maten var god” samt ”stämningen var hög”
Artificiell intelligens
sammanbundna med konnektivet ”och”.
Databaser
Programmeringsspråk (Logikprogrammering/Prolog)
TDDC36 Logik 2006 – p.7/27
TDDC36 Logik 2006 – p.8/27
Konjunktion och
disjunktion
Språkets byggstenar
Fem logiska konnektiv:
Konjunktion
Konjunktion (=och) ∧.
Då vi vill uttrycka att både F och G är sanna
Disjunktion (=eller) ∨.
(F ∧ G)
Negation (=icke) ¬.
Disjunktion
Implikation (= om-så) →.
Biimplikation/ekvivalens (=om-och-endast-om) ↔
Samt satsparametrar (motsvarigheten till atomära
satser).
A, B, C, . . .
Då vi vill uttrycka att minst en av F och G är sann
(F ∨ G)
Inklusivt eller (i motsats till exklusivt)
TDDC36 Logik 2006 – p.9/27
TDDC36 Logik 2006 – p.10/27
Implikation och
ekvivalens
Negation
Implikation
Då vi vill uttrycka att F inte är sann (dvs. att F är falsk)
Då vi vill uttrycka att G är sann om F är sann
¬F
(F → G)
Biimplikation/ekvivalens
Då vi vill uttrycka att F och G har samma
sanningsvärde.
(F ↔ G)
TDDC36 Logik 2006 – p.11/27
Logiska formler
TDDC36 Logik 2006 – p.12/27
Färre parenteser!
Konvention för att slippa parenteser
Antag att V är en samling satsparametrar (en vokabulär)
Varje satsparameter i V är då en (satslogisk) formel,
Om F är en formel så är även ¬F en formel,
Om F och G är formler, så är även (F ∧ G) en formel;
liksom (F ∨ G), (F → G) och (F ↔ G).
Yttersta parentesparet.
Vid ”nästlade” konjunktioner/disjunktioner. Vi skriver
t.ex. (F ∧ G ∧ H) isf (F ∧ (G ∧ H)).
Dessutom
¬ binder hårdare än
Inget annat är en formel.
∧ och ∨, som binder hårdare än
(Ibland tillkommer formlerna ⊥ och ⊤.)
→ och ↔.
TDDC36 Logik 2006 – p.13/27
TDDC36 Logik 2006 – p.14/27
Semantiken hos formler
Semantik (=mening/innebörd) i motsats till syntax
(=utseende/form).
Modellteori för satslogik
En formel är antingen sann (1) eller falsk (0). [Lagen
om det uteslutna tredje]
Vi vet normalt en formels värde bara om vi vet vad
parametrarna har för värden!
TDDC36 Logik 2006 – p.15/27
TDDC36 Logik 2006 – p.16/27
Tolkning
Tolkning (forts.)
Definition Med en (satslogisk) tolkning av en vokabulär
V menar vi en funktion I : V → {0, 1} som till varje
satsparameter i V associerar exakt ett av
sanningsvärdena 0 (falskt) och 1 (sant).
Definition En tolkning är en funktion I från
satsparametrar till sanningsvärden som kan utvidgas till
molekylära formler enligt följande:
I(⊥) = 0
I(⊤) = 1
I(¬F) = 1
I(F ∧ G) = 1
I(F ∨ G) = 1
I(F → G) = 1
I(F ↔ G) = 1
omm
omm
omm
omm
omm
I(F) = 0
I(F) = 1 och I(G) = 1
I(F) = 1 och/eller I(G) = 1
I(F) = 0 och/eller I(G) = 1
I(F) = I(G)
TDDC36 Logik 2006 – p.17/27
Sanningstabeller
Sanningstabeller (forts)
F ¬F
0
1
1
0
F G (F ∧ G) (F ∨ G) (F → G) (F ↔ G)
0
0
1
1
0
1
0
1
0
0
0
1
0
1
1
1
1
1
0
1
TDDC36 Logik 2006 – p.18/27
1
0
0
1
A
0
0
1
1
B A ∧ B ¬(A ∧ B) ¬(A ∧ B) → A
0
0
1
0
1
0
1
0
0
0
1
1
1
1
0
1
Varje rad i tabellen är en tolkning.
Det finns 2n tolkningar av en formel med n
parametrar.
TDDC36 Logik 2006 – p.19/27
Tautologier
TDDC36 Logik 2006 – p.20/27
Kontradiktioner
En formel F sådan att I(F) = 1 för samtliga tolkningar
I (dvs. bara 1-or i sanningstabellen)
En formel F sådan att I(F) = 0 för samtliga tolkningar
I (dvs. bara 0-or i sanningstabellen)
Skrivs ofta |= F.
Om |= F så är ¬F en kontradiktion.
(Skrivs 6|= F då F inte är en tautologi.)
Kallas ofta osatisfierbar eller motsägelse.
OBS: inte motsatsen till en tautologi.
TDDC36 Logik 2006 – p.21/27
TDDC36 Logik 2006 – p.22/27
Logisk ekvivalens
Satisfierbarhet
En formel F sådan att I(F) = 1 för minst en tolkning I
(dvs. minst en 1-a i sanningstabellen).
Motsatsen till kontradiktion.
En mängd Γ = {F1 , F2 , . . .} av formler är satisfierbar
omm det finns minst en tolkning I sådan att
I(F1 ) = I(F2 ) = . . . = 1.
TDDC36 Logik 2006 – p.23/27
Två formler F och G är logiskt ekvivalenta (skrivs F ≡ G)
om F och G har samma sanningsvärde i samtliga
tolkningar, dvs. I(F) = I(G) för alla tolkningar I.
Teorem F ≡ G omm |= F ↔ G.
TDDC36 Logik 2006 – p.24/27
Logisk konsekvens
Ekvivalens (forts)
Om F(A) ≡ G(A) är formler innehållande en
satsparameter A och F(H) resp. G(H) är F och G med
samtliga förekomster av A utbytta mot H så gäller att
F(H) ≡ G(H).
Antag att F är en formel som innehåller en delformel G1 .
Om G1 ≡ G2 och F[G2 /G1 ] är F med en eller flera
förekomster av G1 ersatta (substituerade) med G2 så
gäller att
F ≡ F[G2 /G1 ]
TDDC36 Logik 2006 – p.25/27
Bra att veta!
Teorem Γ |= F omm mängden Γ ∪ {¬F} är osatisfierbar.
Teorem F ≡ G omm F |= G och G |= F.
Teorem F1 , . . . , Fn |= G omm |= F1 ∧ . . . ∧ Fn → G.
TDDC36 Logik 2006 – p.27/27
En formel F är en logisk konsekvens av formlerna
F1 , . . . , Fn omm F är sann i varje tolkning där var och en
av F1 , . . . , Fn är sanna.
Alternativt
F är en logisk konsekvens av F1 , . . . , Fn omm det inte
finns någon tolkning där F är falsk och där var och en av
F1 , . . . , Fn är sanna.
Skrivs F1 , . . . , Fn |= F (och F1 , . . . , Fn 6|= F om F inte är en
logisk konsekvens av F1 , . . . , Fn ).
TDDC36 Logik 2006 – p.26/27