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