Přednáška 2: Normální formy, úsudky. Marek Menšík marek.mensik@vsb.cz Úvod do teoretické informatiky (logika)
Splnitelnost formulí, tautologie, kontradikce, model Formule je splnitelná, má-li alespoň jeden model Formule je nesplnitelná (kontradikce), nemá-li žádný model Formule je tautologie (logicky pravdivá), je-li každé ohodnocení jejím modelem. Množina formulí {A1,…,An} je splnitelná, existuje-li ohodnocení v, které je modelem každé formule Ai, i = 1,...,n. Úvod do teoretické informatiky (logika)
Splnitelnost formulí, tautologie, kontradikce, model Příklad. A: (p q) (p q) Formule A je tautologie, A kontradikce, formule (p q), (p q) jsou splnitelné. p q p q p q (p q) (p q) (p q) A 1 Úvod do teoretické informatiky (logika)
Ekvivalentní vyjádření, negace a de Morganovy zákony „Prší“ „Není pravda, že neprší“ p p „Prší nebo sněží“ „Není pravda, že ani neprší ani nesněží“ (p q) (p q) „Prší a sněží“ „Není pravda, že neprší nebo nesněží“ (p q) (p q) „Není pravda, že prší a sněží“ „Neprší nebo nesněží“ (p q) (p q) „Není pravda, že prší nebo sněží“ „Neprší a nesněží“ (p q) (p q) „Není pravda, že jestliže prší pak sněží“ „Prší a nesněží“ (p q) (p q) „Jestliže prší, pak sněží“ „Neprší nebo sněží“ (p q) (p q) Pozor na implikaci! Úvod do teoretické informatiky (logika)
Úvod do teoretické informatiky Logické vyplývání Formule A logicky vyplývá z množiny formulí M, značíme M |= A, jestliže A je pravdivá v každém modelu množiny M. Poznámka: Okolnosti (definice 1) jsou zde mapovány jako modely, tj. interpretace jednotlivých (mimologických) symbolů Co je to model? A) Výroková logika: ohodnocení (Pravda - 1, Nepravda - 0) elementárních výroků p, q, …, při kterém nabývá celá formule hodnoty Pravda (1). B) Predikátová logika: interpretace predikátových (P, Q, …) a funkčních symbolů (f, g, …), ve které nabývá celá formule hodnoty Pravda; P relaci R nad universem U (tj. R U … U), f funkci F nad universem U (tj. F: U … U U). Úvod do teoretické informatiky
Úvod do teoretické informatiky Logické vyplývání Jak tedy ověříme, zda úsudek je platný? Sémantické metody Syntaktické metody Ad 1: Snažíme se ověřit, že pravdivost premis zaručuje pravdivost závěru Ad 2: Pomocí pravidel manipulujeme s formulemi jakožto s posloupnostmi symbolů (abstrahujeme přitom od jejich významu). Pravidla však musí být korektní, tj. zachovávat pravdivost. V obou případech můžeme použít přímý důkaz, nebo nepřímý důkaz sporem. Nyní se budeme věnovat sémantickým metodám. Úvod do teoretické informatiky
Logické vyplývání ve výrokové logice Je doma (d) nebo šel na pivo (p) Je-li doma (d), pak nás očekává (o) Jestliže nás neočekává, pak šel na pivo p. d, p, o | d p, d o |= o p přímý Dk.: 1 1 1 1 1 1 závěr je 1 1 0 1 0 1 1 0 1 1 1 1 pravdivý 1 0 0 1 0 0 0 1 1 1 1 1 ve všech čtyřech 0 1 0 1 1 1 modelech 0 0 1 0 1 1 předpokladů 0 0 0 0 1 0 Úsudek je platný. Úvod do teoretické informatiky
Příklady: Logické vyplývání ve VL Je doma (d) nebo šel na pivo (p) Je-li doma (d), pak nás očekává (o) Jestliže nás neočekává, pak šel na pivo p. d p, d o |= o p Tabulka má 2n řádků! Proto důkaz sporem: Předpokládejme, že úsudek není správný. Pak tedy mohou být všechny předpoklady pravdivé a závěr nepravdivý: d p, d o |= o p 1 1 0 1 0 0 1 0 1 0 spor Úvod do teoretické informatiky
(Výrokově) logické vyplývání Všechny úsudky se stejnou logickou formou jako platný úsudek jsou platné: d p, d o |= o p Za proměnné d, p, o můžeme dosadit kterýkoli elementární výrok: Hraje na housle nebo se učí. Jestliže hraje na housle, pak hraje jako Kubelík. Tedy Jestliže nehraje jako Kubelík, pak se učí. Platný úsudek – stejná logická forma Úvod do teoretické informatiky
(Výrokově) logické vyplývání Jestliže platí, že je správný úsudek: P1,...,Pn |= Z, pak platí, že je tautologie formule tvaru implikace: |= (P1 ... Pn) Z. Důkaz, že formule je tautologie, nebo že závěr Z logicky vyplývá z předpokladů : Přímý důkaz – např. pravdivostní tabulkou Nepřímý důkaz, sporem: k důkazu P1,...,Pn |= Z pak stačí ukázat, že nemůže nastat případ, kdy všechny P1,...,Pn jsou pravdivé a Z je nepravdivý: tedy že P1 ... Pn Z je kontradikce, čili množina {P1, ..., Pn, Z} je sporná (nekonzistentní, nemá model). Úvod do teoretické informatiky
Úvod do teoretické informatiky Důkaz tautologie ve VL |= ((p q) q) p Sporem: ((p q) q) p negovaná f. musí být kontradikce 1 1 pokus, zda může být 1 1 1 1 1 0 spor Při žádném ohodnocení není negovaná formule pravdivá, tedy původní formule je tautologie Úvod do teoretické informatiky
Nejdůležitější tautologie VL Tautologie s 1 výrokovým symbolem: |= p p |= p p zákon vyloučeného třetího |= (p p) zákon sporu |= p p zákon dvojí negace Úvod do teoretické informatiky
Algebraické zákony pro konjunkci, disjunkci a ekvivalenci |= (p q) (q p) komutativní zákon pro |= (p q) (q p) komutativní zákon pro |= (p q) (q p) komutativní zákon pro |= [(p q) r] [p (q r)] asociativní zákon pro |= [(p q) r] [p (q r)] asociativní zákon pro |= [(p q) r] [p (q r)] asociativní zákon pro |= [(p q) r] [(p r) (q r)] distributivní zákon pro , |= [(p q) r] [(p r) (q r)] distributivní zákon pro , Úvod do teoretické informatiky
Úvod do teoretické informatiky Zákony pro implikaci |= p (q p) zákon simplifikace |= (p p) q zákon Dunse Scota |= (p q) (q p) zákon kontrapozice |= (p (q r)) ((pq) r) spojování předpokladů |= (p (q r)) (q (p r)) na pořadí předpokladů nezáleží |= (p q) ((q r) (p r)) hypotetický sylogismus |= ((p q) (q r)) (p r) tranzitivita implikace |= (p (q r)) ((p q) (p r)) Fregův zákon |= (p p) p reductio ad absurdum |= ((p q) (p q)) p reductio ad absurdum |= (p q) p , |= (p q) q |= p (p q) , |= q (p q) Úvod do teoretické informatiky
Úvod do teoretické informatiky Zákony pro převody |= (p q) (p q) (q p) |= (p q) (p q) (q p) |= (p q) (p q) (q p) |= (p q) (p q) |= (p q) (p q) Negace implikace |= (p q) (p q) De Morgan zákony |= (p q) (p q) De Morgan zákony Tyto zákony jsou také návodem jak negovat Úvod do teoretické informatiky
Úvod do teoretické informatiky Negace implikace Není pravda, že budu-li hodný, dostanu lyže. (p q) Byl jsem hodný a (stejně) jsem lyže nedostal. (nesplněný slib) p q Státní zástupce: Pokud je obžalovaný vinen, pak měl společníka Obhájce: To není pravda ! Pomohl obhájce obžalovanému, co vlastně řekl? (Je vinen a udělal to sám!) Úvod do teoretické informatiky
Úvod do teoretické informatiky Negace implikace Věty v budoucnosti: Jestliže to ukradneš, tak tě zabiju! (p q) To není pravda: Ukradnu to a (stejně) mě nezabiješ. p q Ale: Bude-li zítra 3. světová válka, pak zahyne více jak 5 miliard lidí. To není pravda: Bude zítra 3.sv. válka a zahyne méně než 5 miliard lidí ??? To jsme asi nechtěli říct, že určitě bude válka: Zamlčená modalita: Nutně, Bude-li zítra 3. světová válka, pak zahyne více jak 5 miliard lidí. To není pravda: Možná, že Bude zítra 3.sv. válka, ale zahynulo by méně než 5 miliard lidí Modální logiky – nejsou náplní tohoto kursu. Úvod do teoretické informatiky
Úvod do teoretické informatiky Ještě úsudky Převod z přirozeného jazyka nemusí být jednoznačný: Jestliže má člověk vysoký tlak a špatně se mu dýchá nebo má zvýšenou teplotu, pak je nemocen. p – ”X má vysoký tlak” q – ”X se špatně dýchá” r – ”X má zvýšenou teplotu” s – ”X je nemocen” 1. možná analýza: [(p q) r] s 2. možná analýza: [p (q r)] s Úvod do teoretické informatiky
Úvod do teoretické informatiky Ještě úsudky Jestliže má Karel vysoký tlak a špatně se mu dýchá nebo má zvýšenou teplotu, pak je nemocen. Karel není nemocen, ale špatně se mu dýchá Co z toho plyne? Musíme rozlišit 1. čtení a 2. čtení, protože nejsou ekvivalentní, závěry budou různé. Úvod do teoretické informatiky
Úvod do teoretické informatiky Analýza 1. čtení analýza: [(p q) r] s, s, q ??? Úvahou a úpravami: [(p q) r] s, s [(p q) r] (de transpozice Morgan) (p q) r (p q), r, ale platí q p, r (důsledky) Tedy Karel nemá vysoký tlak a nemá vysokou teplotu. Úvod do teoretické informatiky
Úvod do teoretické informatiky Analýza 2. čtení analýza: [p (q r)] s, s, q ??? Úvahou a ekvivalentními úpravami: [p (q r)] s, s [p (q r)] transpozice de Morgan: p (q r) ale platí q druhý disjunkt nemůže být pravdivý je pravdivý první: p (důsledek) Tedy Karel nemá vysoký tlak (o jeho teplotě r nemůžeme nic usoudit) Úvod do teoretické informatiky
Úvod do teoretické informatiky Důkaz obou případů 1. analýza: [(p q) r] s, s, q |= p,r 2. analýza: [p (q r)] s, s, q |= p D.ú. 1. případ - tabulkou D.ú. Sporem: k předpokladům přidáme negovaný závěr (p r) (p r) a předpokládáme, že vše 1 [(p q) r] s, s, q, p r 1 1 0 1 1 0 0 0 1 p r = 0 spor Úvod do teoretické informatiky
Normální formy formulí výrokové logiky Každé formuli výrokové logiky přísluší právě jedna pravdivostní funkce, zobrazení {p, q, r…} {0, 1} (pravdivostní tabulka). Naopak však jedné takové funkci odpovídá nekonečně mnoho formulí, které jsou navzájem ekvivalentní. Definice: Formule A, B jsou ekvivalentní, značíme A B, mají-li přesně stejné modely, tj. vyjadřují stejnou pravdivostní funkci. Jinými slovy, A B iff A |= B a B |= A. Příklad: p q p q (p q) (p q) (p p) (p q) (p p) ... Pozn.: Nesmíme plést ekvivalenci formulí A B s formulí tvaru ekvivalence A B. Platí však, že A B právě když formule A B je tautologie. Př.: (p q) [(p q) (q p)] iff |= [(p q) ((p q) (q p))] Úvod do Teoretické informatiky (logika)
Normální formy, příklad q f(p,q) 1 Této pravdivostní funkci odpovídá nekonečně mnoho formulí: (p q) [(p q) (q p)] [(p q) (q p)] [(p q) (p q)] …. Úvod do Teoretické informatiky (logika)
Normální formy formulí výrokové logiky (p q) [(p q) (q p)] [(p q) (q p)] [(p q) (p q)] …. Je užitečné stanovit nějaký normální tvar formule – tj. vybrat mezi těmito nekonečně mnoha ekvivalentními formulemi jeden nebo dva kanonické normální tvary. Třída ekvivalentních formulí je pak reprezentována touto vybranou formulí v normálním tvaru. V našem příkladu jsou v normálním tvaru formule na druhém a třetím řádku. Úvod do Teoretické informatiky (logika)
Normální formy formulí výrokové logiky Literál je výrokový symbol nebo jeho negace. Př.: p, q, r, ... Elementární konjunkce (EK) je konjunkce literálů. Př.: p q, r r, ... Elementární disjunkce (ED) je disjunkce literálů. Př.: p q, r r, ... Úplná elementární konjunkce (ÚEK) dané množiny výrokových symbolů je elementární konjunkce, ve které se každý symbol z dané množiny vyskytuje právě jednou (buďto prostě nebo negovaný): Př.: p q Úplná elementární disjunkce (ÚED) dané množiny výrokových symbolů je elementární disjunkce, ve které se každý symbol z dané množiny vyskytuje právě jednou (buďto prostě nebo negovaný). Př.: p q Disjunktivní normální forma (DNF) dané formule je formule ekvivalentní s danou formulí a mající tvar disjunkce elementárních konjunkcí. Příklad: DNF(p p): (p p) (p p), p p Konjunktivní normální forma (KNF) dané formule je formule ekvivalentní s danou formulí a mající tvar konjunkce elementárních disjunkcí. KNF(p p): (p p) (p p) Úplná disjunktivní normální forma (UDNF) dané formule je formule ekvivalentní s danou formulí a mající tvar disjunkce úplných elementárních konjunkcí. UDNF(p q): (p q) (p q) Úplná konjunktivní normální forma (UKNF) dané formule je formule ekvivalentní s danou formulí a mající tvar konjunkce úplných elementárních disjunkcí. UKNF(p q): (p q) (q p) ÚDNF a UKNF dané formule nazýváme kanonickými (standardním) tvary této formule.
Normální formy formulí výrokové logiky Jak nalézt kanonický tvar (tj. UDNF, UKNF) formule? UDNF: disjunkce = 1, když alespoň jedna UEK = 1, tj. všechny literály v této UEK = 1. UKNF: konjunkce = 0, když alespoň jedna UED = 0, tj. všechny literály v této UED = 0. Proto: UDNF (UKNF) sestrojíme z pravdivostní funkce tak, že si všímáme řádků, kde je hodnota 1 (0) a „zajišťujeme správnou hodnotu literálů“ – 1 (0). Úvod do Teoretické informatiky (logika)
Úvod do Teoretické informatiky (logika) UDNF, UKNF tabulkou Nalézt UDNF, UKNF formule: (pq) UDNF: pq UKNF: (pq)(pq)(pq) p q (pq) UEK UED 1 pq pq pq pq Úvod do Teoretické informatiky (logika)
Úvod do Teoretické informatiky (logika) UDNF, UKNF úpravami Metoda ekvivalentních úprav: p q p q (p q) UDNF [p (q q] [q (p p] p q p q p q UKNF Pozn.: Využíváme zde tautologie výrokové logiky, viz předchozí presentace (slidy 26-29). Ve druhém řádku využíváme toho, že disjunkce libovolné formule A s kontradikcí (F) je ekvivalentní A: A F A Ve třetím řádku jsou použity distributivní zákony Každá formule, která není kontradikce, má UDNF a Každá formule, která není tautologie, má UKNF Úvod do Teoretické informatiky (logika)
Opačná úloha: k UDNF, UKNF nalézt jednodušší „původní“ formuli Alchymista je zavřen ve vězení a dostane 5 motáků s výroky: p: Podaří se ti přeměna olova ve zlato q: 1.4. bude tvůj švagr jmenován prokurátorem r: Po 1.4. bude soud. První moták zní: p q r Druhý moták zní: p q r Třetí moták zní: p q r Čtvrtý moták zní: p q r Pátý moták zní: Alespoň jeden z předchozích motáků je pravdivý. Otázka: Co se vlastně nebohý alchymista dověděl? Řešení: (p q r) (p q r) (p q r) (p q r). Máme tedy nalézt formuli, k níž je tato UDNF ekvivalentní. Za pomoci distributivních zákonů dostaneme: (p q r) (p q r) (p q r) (p q r) (p q) (r r) (p q) (r r) (p q) (p q) (p q) Odpověď: Podaří se ti přeměna olova ve zlato tehdy a jen tehdy, když bude 1.4. tvůj švagr jmenován prokurátorem.
Otázka: kolik binárních pravdivostních funkcí (a tedy logických spojek) existuje? q 1 2 3 4 5 6 7 8 9 A B C D E F NOR NAND
Kolik nejméně a které spojky potřebujeme? Dle věty o normálních tvarech stačí: , , (funkcionálně úplná soustava) Ostatní vytvoříme skládáním funkcí Následující soustavy pravdivostních funkcí jsou funkcionálně úplné: 1. pravdivostní funkce příslušející spojkám {, , }, 2. pravdivostní funkce příslušející spojkám {, } nebo {, }, 3. pravdivostní funkce příslušející spojkám {, }, pravdivostní funkce příslušející spojce {} nebo {}. Tedy k vyjádření libovolné pravdivostní funkce, tj. libovolné formule ekvivalentním způsobem stačí jedna spojka! Buď Schefferova NAND nebo Pierceova NOR Úvod do Teoretické informatiky (logika)
Kolik nejméně a které spojky potřebujeme? Soustava {, , } stačí dle vět o normálních formách Převod na soustavu {, } nebo {, }: A B (A B), A B (A B) Převod na soustavu {, }: A B A B, A B (A B) Převod na soustavu {} nebo {}: A AA, AB (AB)(AB), kde značí NAND, A AA, AB (AB)(AB), kde značí NOR. Úvod do Teoretické informatiky (logika)