Normální formy (provizorní text)
Výrokový počet Definice. Jazyk výrokového počtu obsahuje výrokové proměnné p, q, r, s,... , spojky , , , .. a závorky (,). Výrokové proměnné jsou formule. Jestliže a jsou formule, potom i , , , a jsou formule. Jinak formule nevznikají. Pravdivostní ohodnocení V je zobrazení výrokových proměnných do dvoubodové množiny obsahující pravdu a nepravdu, tj. 1 a 0. Ke každé spojce je přiřazena tabulka vyjadřující, za kterých pravdivostních ohodnoceních je složená formule pravdivá. Stručně řečeno: V( ) = min ( V(), V()) 0 < 1 V( ) = max (V(), V()) V() = 1 - V() a V( ) = 1 právě když V() je menší nebo rovno V(). V( ) = 1 právě když V() = V(). Formule a jsou sémanticky ekvivalentní (píšeme ), jestliže pro každé pravdivostní ohodnocení V platí: V() = V(). Tvrzení. Platí následující ekvivalence 1. 2. 3. 4. ( ) ( ) 5. ( ) ( ) 6. ( ) ( ) ( ) 7. ( ) ( ) ( ) 8. ( ) ( ) () ( ) ( ) ( ) 9. ( ) ( ) () ( ) ( ) ( ) 10. de Morganova pravidla : ( ) 11. ( ) 12. specielně: [() () ] ( ) ( ) 13. : [() () ] ( ) ( ) 14. ( ) 15. ( ) 16. ( ) 17. ( ) 18. Definice. Formule je tautologie, jestliže je pravdivá při každém pravdivostním ohodnocení svých výrokových proměnných. Formule je sporná, jestliže je nepravdivá při každém
pravdivostním ohodnocení svých výrokových proměnných. Formule je splnitelná, jestliže není sporná (alespoň v jednom pravdivostním ohodnocení svých proměnných je pravdivá). Př. Formule p p, p p, pq p, ( p (pq) ) p jsou tautologie. Formule p pq, (pq) (qp), pq q, (pq) (p rq) jsou tzv. formule faktuální, které nejsou ani tautologie ani formule sporné. Neboť p pq je pravdivá pro pravdivostní ohodnocení 1,1 a není pravdivá pro 1,0. Podobně (pq) (qp) je pravdivá pro 1,1 a není pro 0,1; pq q je pravdivá pro 1,1 a není pro 1,0; (pq) (p rq) je pravdivá pro 1,1,1 a není pro 1,1,0 apod. Formule pp, (p (pq)) jsou formule sporné. Definice. Fundamentální konjunkce je konjunkce z výrokových proměnných nebo jejich negací. Fundamentální disjunkce je disjunkce z výrokových proměnných nebo jejich negací. Konjunkce fundamentálních disjunkcí (KFD) a disjunkce fundamentálních konjunkcí (DFK) jsou formule, ve kterých se negace vyskytuje pouze u výrokových proměnných. Tvrzení. Každá formule je ekvivalentní KFD a DFK: Důkaz. Ukázkou jednoho příkladu: Nechť (pq) (q r) p (q r) , tj. i jsou ve tvaru DFK. Ukážeme, že pak i , a lze ekvivalentně převést na DFK. (pq) (q r) p (q r) [(pq) (q r) ] [p (q r) ] ((pq) p) (pq) (q r) ) ( (q r) p) ( (q r) (q r) ) (pq) (p q r) (p d q r) [(pq) (q r) ] (p q) (q r) (pq) (pq) (qq) (qr) (p q) (p q) (q r) Definice. Elementární disjunkce ED (konjunkce EK) je fundamentální disjunkce (konjunkce) (tj. disjunkce (konjunkce) z výrokových proměnných nebo jejich negací), ve které se každá výroková proměnná může vyskytovat pouze v jednom tvaru, tj, buď pouze pozitivně nebo pouze negativně. KED se nazývá konjunktivní normální forma a DEK se nazývá disjunktivní normální forma. Tvrzení. Jestliže formule je ve tvaru FD, která není ED, pak je tautologií. Jestliže formule je ve tvaru FK, která není EK, pak je sporná. Důkaz. Zřejmé, neboť disjunkce, která obsahuje nějakou výrokovou proměnnou a zároveň její negaci, je splněna vždy. p q q : buď je pravdivé q nebo q. Podobně: konjunkce, která obsahuje nějakou výrokovou proměnnou a zároveň její negaci, není splněna nikdy: p q r p: nemůže být zároveň pravda p i p. Tvrzení. Formule ve tvaru EK vždycky splněna. Formule ve tvaru ED není nikdy tautologie.
Důkaz. Nechť je ve tvaru EK. Potom obsahuje každou výrokovou proměnnou pouze jednou, tj. existuje pravdivostní ohodnocení V tak, že V() = 1: V(p) = 1 pokud p je v a V (p) = 0 pokud p je v . Př. p q r, pak pak V() = 1 pro 1,0,1 Nechť je ve tvaru ED. Jestliže V(p) = 0 pokud p je ve a V(p) = 1 pokud p je ve , pak V() = 0. Př. Nechť p q r. Pak V() = 0 pro 0,0,1. Tvrzení. DEK je vždycky splněna. KED není nikdy sporná. Chceme-li poznat, zda je formule tautologií, pak ji převedeme na KFD. Pokud žádná z disjunkcí nebude elementární, pak je tautologií. Pokud alespoň jedna disjunkce bude elementární, pak existuje pravdivostní ohodnocení, při kterém je formule nepravdivá, tudíž není tautologií. Př. (pq) (qp) (pq) (qp) (pq) q p (p q p) (q q p) tudíž je tautologie. (pq) (qp) (pq) (q p) (pq) q p (p q p) (q q p) (p q) , což je ED, tudíž formule není tautologií. Tudíž formule, které jsou splnitelné, tj. nejsou sporné, se dají převést na DEK. Formule sporná se nedá převést na DEK (ale dá se převést na KED). Formule, které nejsou tautologie, se dají převést na KED. Tautologie se nedají převést na KED (ale dají se převést na DEK). Proč se tolik normálními formami zabýváme? Nejjednodušší databáze obsahuje objekty a jejich vlastnosti. Základní dotazy ve tvaru: Učí matematiku (M) neučí matematiku (M), jmenuje se Jana (J) nejmenuje se Jana (J), je starší 25 let (V>25) nebo není starší 25 let (V25 – rozuměj menší nebo rovno) můžeme chápat jako ohodnocení výrokových proměnných a jejich negací. Dále databáze obsahují konjunkce a disjunkce konjunkcí: Jmenuje se Jana a je starší 25 let a studuje matematiku nebo jmenuje se Lucie a je starší 25 let a nestuduje matematiku: (J V>25 M) (L V>25 M) a pod. Mnohé databáze nemají negace jinde než u základních výroků a většinou neobsahují implikaci. Proto se učíme disjunktivní normální formy, protože to je často jediný způsob, jak je možno správně položit dotaz databázi.
Některé vyřešené příklady z minulých písemných prací. (q (p q)) (p r) (q p) ( q q) (p r) (q p) (p r) DEK (q p) ( q r) (p p) ( p r) (q p) ( q r) p ( p r) (q r) p nebo? disjunkce (q p), ( p r) obsahují p (viz 15). q (p q)) (p r) (qp) (qq) (pr) (qp) p r
p r , což je DEK i KED (q (p r)) (p q) ( q (pr) ) (p q) (q p r) p q p q , což je op?t DEK i KED ((q p r) je delší než p). (q p) ( (p r) q) (q p) ((pr) q) q p (p r ) q q p což je KED i DEK ( q (p r)) (p q) q (pr) (pq) DEK (q p p) (q p q) (q r p) (q r q) q r p KED apod. 1)
Vaše databáze obsahuje mj. názvy Skladatel, Druh skladby, Dirigent. Vyberte do I.skupiny všechny skladby skladatele A; pokud jsou to ovšem opery, pak dirigované panem L. Do II.skupiny vyberte skladby pana A, které nejsou v I. skupin?.
A (O L) A (O L) ( A O) (A L) slovy: Chceme skladby pana A a to bu? ty, které nejsou opery – a ty m?že dirigovat kdokoli – anebo dirigované panem L – ten m?že dirigovat všechny skladby, i opery.
I.
A (A (O L) ) A (A (OL)) A O L. slovy: do druhé skupiny dáme opery pana A dirigované n?kým jiným než panem L.
II.
Vaše databáze u?itel? jedné st?ední školy obsahuje mj. názvy ?eština, Výtvarná výchova, Hudební výchova, D?jepis, Zem?pis. Vyberte do I.skupiny všechny u?itele, kte?í u?í ?eštinu a výtvarnou nebo hudební výchovu a u?itele, kte?í u?í d?jepis a zem?pis. Do II.skupiny vyberte všechny u?itele ?eštiny, kte?í nejsou v I. skupin?. V obou p?ípadech napište DEK! I. ? (V H) (DZ) (? V) (? H)( D Z) II. Č ((? V) (? H)( D Z) ) ? ( (? V) (? H) (D Z) (? ? ? D) (? ? ? Z) (? ? H D) (? ? H Z) (? V ? D) (? V ? Z) (? V H D) (? V H Z) (? V H D) (? V H Z) Vaše databáze u?itel? jedné st?ední školy obsahuje mj. názvy Matematika, Fyzika, Chemie, T?ída. Vyberte do I.skupiny všechny u?itele, kte?í u?í matematiku a fyziku a zárove? u?í v oktáv? a u?itele matematiky, kte?í u?í také chemii. Do II.skupiny vyberte všechny u?itele matematiky, kte?í nejsou v I. skupin? I. II.
(M F O) (M Ch) M ((M F O) (M Ch)) M (M F O) (M Ch) ) (M M M) (M M Ch) (M F M) (M F Ch) (M O M) (M O Ch) (M F Ch) (M O Ch)
3)
Vaše databáze obsahuje mj.názvy Spisovatel, Rok vydání, Druh. Do I. skupiny vyberte všechny knihy pana G, ale pokud vyšly p?ed rokem 1945, tak pouze povídky. Do II.skupiny vyberte knihy pana G, které nejsou v I.skupin?.
I. G (R< 45 P) G (R<45 P) (G R>45) (G P) II. G ( G (R< 45 P) ) G (G (R<45 P) ) G R<45 P pozn.: místo > piš větší nebo rovno Jak zjistíte v databázi školy (o jednotlivých učitelích je zadáno, co učí a co neučí), že v dané škole platí nebo neplatí tvrzení „Kdo učí matematiku a fyziku, neučí chemii ani češtinu“? Poznámka. Databáze umí zjistit, které objekty splňují disjunkci elementárních konjunkcí. Návod: Ověřujte negaci tvrzení! (x) [ ((M(x) F(x) ) ( Ch(x) Č(x)) ] negace tvrzení. (x) [ ((M(x) F(x) ) ( Ch(x) Č(x)) ] (x) [ ((M(x) F(x) ) ] (x) [( M(x) F(x) ) ( Ch(x) Č(x)) ] (x) [ M(x) F(x) ( Ch(x) Č(x) ) ] (x) [(M(x) F(x) Ch(x) ) (M(x) F
(x) Č(x))] tudíž, pokud se v databázi najde někdo, kdo splňuje závěrečnou disjunkci, tj. buď učí matematiku, fyziku a chemii nebo učí matematiku, fyziku a češtinu, pak není pravda, že je pravdivé původní tvrzení, tj. Kdo učí matematiku a fyziku, neučí chemii ani češtinu. Podobně další příklady, vždy je třeba správně negovat implikaci a převést na DEK.