Formální systém výrokové logiky 1.Jazyk výrokové logiky Nechť P = {p,q,r, } je neprázdná množina symbolů, které nazýváme prvotní formule. Symboly jazyka L P výrokové logiky jsou : a) prvky množiny P, b) základní logické spojky (negace), (implikace), c) závorky (, ). Výrokové formule (1) Každá prvotní formule je výroková formule. (2) Je-li A výroková formule, pak ( A) je výroková formule. (3) Jsou-li A, B výrokové formule, pak (A B) je výroková formule (4) Řetězec symbolů jazyka L P je výroková formule, právě když vznikne konečným počtem užití pravidel (1) - (3). Odvozené logické spojky V logice je obvyklé používat kromě základních logických spojek odvozené logické spojky, (konjunkce), (disjunkce) a (ekvivalence). Tyto symboly chápeme jako zkratky: A B pro (A B) A B pro A B A B pro (A B) (B A), kde A, B jsou výrokové formule. Nyní můžeme při zápisu výrokových formulí (v této kapitole stručně formulí) používat tyto nové spojky rovnocenně se základními. Nechť P = {p,q,r,s}. Potom (p q) (p p), p (p q), (( p) ( q)) r jsou formule, kdežto řetězce (p ), p nejsou formule. Dohoda: Některé závorky můžeme v zápise formulí vynechat stanovením priorit logických spojek. Priority od nejvyšší k nejnižší:,,,,. Můžeme pak psát např. ( p q) r namísto (( p) ( q)) r. Podformule Podformulí formule A je každý její podřetězec, který je sám formulí. Podformulemi formule (p q) ( (r q) q) jsou například formule: (r q) q, r q, p, q.
2.Sémantika formulí V předchozím odstavci jsme se zabývali pouze syntaxí, to znamená tím, jak správně vytvářet formule, přitom jsme se nezajímali o jejich významovou stránku - sémantiku. Formule však mají modelovat výroky o kterých je možné říci, zda jsou pravdivé, nebo nepravdivé. Pravdivost formule bude závislá na stanovené pravdivosti prvotních formulí. Pravdivost prvotních formulí stanovíme pravdivostním ohodnocením. Pravdivostní ohodnocení (valuaci) prvotních formulí definujeme jako zobrazení v : P {0,1}, kde hodnota 1 znamená pravdivost, hodnota 0 nepravdivost. Zobrazení v potom rozšíříme na množinu všech formulí a tím definujeme jejich pravdivost. Pravdivost formule Nechť v : P {0,1} je pravdivostní ohodnocení prvotních formulí. Jeho rozšíření v na množinu všech formulí definujeme následující rekurzí: (1) v( A) = 1 pokud v(a) = 0, v( A) = 0 pokud v(a) = 1 (2) v(a B) = 0 pokud v(a) = 1 a v(b) = 0, jinak v(a B) = 1. Formule A se nazývá pravdivá při valuaci v, jesliže v(a) = 1, jinak nepravdivá. Tautologie a kontradikce Formule A se nazývá tautologie, jestliže je pravdivá při každé valuaci. Píšeme = A. Formule A se nazývá kontradikce, jestliže je nepravdivá při každé valuaci, t.j. = A. Věta o substituci Nechť A je tautologie, p prvotní formule vyskytující se v A. Nechť formule A vznikne z A substitucí některé formule B za p. Potom A je také tautologie. Pravdivostní tabulka Z definice pravdivosti je zřejmé, že pravdivost formule při valuaci v závisí pouze na hodnotách v(p) těch prvotních formulí, které se ve formuli vyskytují. Závislost pravdivosti formule na valuacích můžeme proto zapsat do tabulky, jejíž řádku odpovídají valuacím a sloupce prvotním formulím a dané formuli. Tabulky negace a implikace dostaneme z definice pravdivosti formule. Tabulka negace. p p 0 1 1 0 Tabulka implikace. p q p q 0 0 1 0 1 1 1 0 0 1 1 1 Při vytváření tabulky složitějších formulí musíme znát nejprve vyhodnocení jejich podformulí. Tento postup ukážeme na disjunkci p q, která je definovaná jako p q. a konjunkci p q, která je definovaná jako (p q). p q p p q 0 0 1 0 0 1 1 1 1 0 0 1 1 1 0 1 p q q p q (p q) 0 0 1 1 0 0 1 0 1 0 1 0 1 1 0 1 1 0 0 1
Nyní sestavme tabulku pravdivosti implikace, konjunkce, disjunkce a ekvivalence libovolných formulí A, B v závislosti na jejich pravdivostech. A B A B A B A B A B 0 0 1 0 0 1 0 1 1 0 1 0 1 0 0 0 1 0 1 1 1 1 1 1 Sestavte pravdivostní tabulku formule (p q) r. p q r q p q (p q) r 0 0 0 1 1 1 0 0 1 1 1 1 0 1 0 0 1 1 0 1 1 0 1 1 1 0 0 1 1 1 1 0 1 1 1 1 1 1 0 0 0 0 1 1 1 0 0 1 Některé významné tautologie Pro libovolné formule A, B, C platí: 1. = A A zákon totožnosti 2. = A A zákon vyloučení třetího 3. = (A A) zákon sporu 4. = (A B) ((B C) (A C)) transitivita implikace 5. = A A zákon dvojí negace 6. = (A A) A zákony idempotence 7. = (A A) A 8. = (A (A B)) A zákony absorpce 9. = (A (A B)) A 10. = (A B) (B A) komutativní zákony 11. = (A B) (B A) 12. = (A (B C)) ((A B) C) asociativní zákony 13. = (A (B C)) ((A B) C) 14. = (A (B C)) ((A B) (A C)) distributivní zákony 15. = (A (B C)) ((A B) (A C)) 16. = (A B) ( A B) De Morganovy zákony 17. = (A B) ( A B) 18. = (A B) ( B A) zákon kontrapozice 19. = (A (B C)) ((A B) C)
Cvičení: 1. Ukažte, že formule p (q p), (p (q r)) ((p q) (p r)), ( q p) (p q) jsou tautologie. 2. Zdůvodněte proč jsou tautologie také formule A (B A), (A (B C)) ((A B) (A C)), ( B A) (A B), kde A, B, C jsou libovolné formule. 3. Ukažte, že formule p p je kontradikce. 4. Prověřte tautologie 1. - 19. 3.Ekvivalentní formule Řekneme, že formule A, B jsou ekvivalentní, jestliže = A B. Poznámka: Z tabulky spojky je vidět, že formule A, B jsou ekvivalentní právě když v(a) = v(b) pro každou valuaci v. Odtud je zřejmá platnost následujících tvrzení: Vlastnosti ekvivalence (i) =A A (ii) jestliže = A B potom = B A (iii) jestliže = A B a = B C potom = A C Věta o ekvivalenci Jestliže formule A' vznikne z formule A náhradou některé její podformule ekvivalentní formulí, potom formule A', A jsou ekvivalentní. Důsledek Každá formule je ekvivalentní formuli, která obsahuje pouze spojky,,. Důkaz: Stačí prověřit ekvivalence = (A B) ( A B), = (A B) (( A B) ( B A)). Poznámka: Definujme na množině všech formulí binární relaci : A~B právě když = A B. Tato relace je podle (i) (iii) reflexivní, symetrická a transitivní. Množina formulí se rozpadá na třídy vzájemně ekvivalentních formulí. Množina těchto tříd tvoří Booleovu algebru, kde úlohu booleovských operací zastávají logické spojky,,, což plyne z tautologií 2, 3 a 5 15. 4.Tautologický důsledek V tomto odstavci se budeme zabývat otázkou, zda pravdivost některé formule vyplývá z pravdivosti jiných formulí premis, to znamená, zda je důsledkem těchto premis. Nechť T je množina formulí. Valuace v : P {0,1} se nazývá modelem množiny T, když v(b) = 1 pro každou formuli BєT. Množina T se nazývá splnitelná, když existuje její model, jinak nesplnitelná. Formule A je tautologickým důsledkem množiny formulí T, když pro každý model v množiny T je v(a) = 1. Formule množiny T nazýváme premisy. Píšeme T = A. Je-li T = {B 1, B 2, B n } konečná množina, potom namísto {B 1, B 2, B n } = A píšeme také stručně B 1, B 2, B n = A. Poznámky: 1.Modelem prázdné množiny Ø je každá valuace. Proto Ø = A znamená totéž jako = A. 2.Je-li množina formulí nesplnitelná, potom každá formule je jejím tautologickým důsledkem.
Rozhodněte zda množina formulí T = {p r, q r, p q} je splnitelná. p q r p r q r p q 0 0 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 0 1 1 1 0 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 Množina T je splnitelná. Jejími modely jsou valuace (0,1,1), (1,0,1) a (1,1,1) ve 4. 6. a 8. řádku tabulky. Ukažte že p r, q r, p q = (p r) q. p q r p r q r p q (p r) q 0 0 0 1 1 0 0 0 0 1 1 1 0 0 0 1 0 1 0 1 1 0 1 1 1 1 1 1 1 0 0 0 1 1 0 1 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 Pro všechny modely premis - (0,1,1), (1,0,1) a (1,1,1) je formule (p r) q pravdivá. Je tedy tautologickým důsledkem množiny těchto premis. Některé významné tautologické důsledky Pro libovolné formule A, B, C platí: 1. A, B = A B zavedení konjunkce 2. A B = A eliminace konjunkce 3. A = A B zavedení disjunkce 4. A B, A = B eliminace disjunkce 5. A = B A zavedení implikace 6. A, A B = B eliminace implikace 7. A B, B C = A C transitivnost implikace
Lemma T = A právě když množina T { A} je nesplnitelná. Důkaz: Nechť množina T { A} je nesplnitelná. Potom pro libovolný model v množiny T musí být v(a) = 1, to znamená T = A. Nechť naopak množina T { A} je splnitelná a w je její model. Potom w(a) = 0. Valuace w je však také modelem množiny T, proto formule A není jejím tautologickým důsledkem. Cvičení: Prověřte tautologické důsledky 1. - 7. 5.Normální formy Pravdivostní tabulka formule A, která obsahuje n prvotních formulí definuje funkci f : {0,1} n {0,1}. Takovou funkci nazýváme Booleovou funkcí n argumentů. Řekneme, že Booleova funkce je reprezentovaná formulí A. Každá formule reprezentuje právě jednu Booleovu funkci, přičemž různé formule reprezentují tutéž Booleovu funkci právě když jsou ekvivalentní. Zadaná Booleova funkce může být reprezentovaná mnoha formulemi, můžeme proto zvolit formuli speciálního tvaru. Takovými tvary mohou být disjunktivní a konjunktivní normální formy. Disjunktivní normální forma Formule je v disjunktivní normální formě, je-li disjunkcí několika formulí (disjunktů) o nichž platí: (i) Každá z nich je konjunkcí prvotních formulí, nebo jejich negací (literálů). (ii) V žádné z nich se nevyskytuje některá prvotní formule současně se svou negací. Věta Každá formule, která není kontradikcí je ekvivalentní některé formuli v disjunktivní normální formě. K formuli r (p q) najděte ekvivalentní formuli v disjunktivní normální formě. Na tomto příkladě si ukážeme obecný postup, jak takovou úlohu řešit. Vyjdeme od pravdivostní tabulky p q R r (p q) 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 p q r p q r p q r p q r p q r Ke každé valuaci pro kterou je formule pravdivá vytvoříme konjunkci literálů podle následujícího pravidla. Je-li prvotní formule ohodnocena hodnotou 1 vstupuje do konjunkce přímo, je-li ohodnocena hodnotou 0 vstupuje do konjunkce její negace. Taková konjunkce je pravdivá právě jen při této valuaci. Disjunkce všech těchto konjunkcí je ekvivalentní dané formuli.
Pro valuace (0,0,0), (0,1,0), (1,0,0), (1,1,0) a (1,1,1) dostáváme postupně : p q r, p q r, p q r, p q r, p q r. Hledaná disjunktivní forma je formule ( p q r) ( p q r) (p q r) (p q r) (p q r). Konjunktivní normální forma Formule je v konjunktivní normální formě, je-li konjunkcí několika formulí o nichž platí: (i) Každá z nich je disjunkcí prvotních formulí, nebo jejich negací. (ii) V žádné z nich se nevyskytuje některá prvotní formule současně se svou negací. Věta Každá formule, která není tautologií je ekvivalentní některé formuli v konjunktivní normální formě. Poznámka: Hledáme-li konjunktivní normální formu ekvivalentní s formulí A, můžeme postupovat tak, že nalezneme nejprve disjunktivní normální formu k formuli A, a potom ji negujeme s použitím DeMorganových pravidel. Můžeme však postupovat také přímo pomocí postupu, který je "duální" s konstrukcí disjunktivní formy a který objasníme na následujícím příkladě. K formuli r (p q) najděte ekvivalentní formuli v konjunktivní normální formě. Vyjdeme opět od pravdivostní tabulky p q r r (p q) 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 1 p q r p q r p q r Ke každé valuaci pro kterou je formule nepravdivá vytvoříme disjunkci literálů podle následujícího pravidla. Je-li prvotní formule ohodnocena hodnotou 0 vstupuje do disjunkce přímo, je-li ohodnocena hodnotou 1 vstupuje do disjunkce její negace. Taková disjunkce je nepravdivá právě jen při této valuaci. Konjunkce všech těchto disjunkcí je ekvivalentní dané formuli. Pro valuace (0,0,1), (0,1,1) a (1,0,1) dostáváme postupně : p q r, p q r, p q r. Hledaná konjunktivní forma je formule (p q r) (p q r) ( p q r). Cvičení: Representujte formulí v disjunktivní normální formě Booleovu funkci f, která je zadaná tabulkou :
p q r f(p, q, r) 0 0 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 6.Formální systém výrokové logiky V odstavci 2. jsme vyšetřovali pravdivost formule v závislosti na pravdivosti prvotních formulí v této formuli obsažených. V tomto odstavci se budeme zabývat dokazováním formulí, tj. zjištěním, že pravdivost dané formule vyplývá z pravdivostí jiných formulí. K tomu slouží formální systém výrokové logiky. Formálním systémem výrokové logiky se rozumí jazyk výrokové logiky a deduktivní soustava, která je tvořena axiomy a odvozovacími pravidly. Za axiomy volíme vhodná schémata tautologií, odvozovací pravidlo stačí jediné - pravidlo modus ponens. Po tomto pravidle požadujeme korektnost, to znamená, aby z pravdivých premis byl odvozen pravdivý závěr. Axiomy A1 A (B A) A2 (A (B C)) ((A B) (A C)) A3 ( B A) (A B), kde A, B, C jsou výrokové formule. Modus ponens (MP) Z premis A, A B se odvodí závěr B. Korektnost pravidla MP vyplývá z tautologického důsledku 6. (eliminace implikace). Důkaz formule Nechť T je množina formulí - (předpoklady, teorie). Posloupnost formulí B 1, B 2, B n, je důkazem formule A z předpokladů T (v teorii T), jestliže 1) B n je formule A 2) pro libovolné i = 1,2, n je B i buď axiom, nebo prvek množiny T, nebo je závěrem pravidla MP, kde premisy jsou mezi formulemi B 1, B 2, B i -1. Jesliže existuje takový důkaz, potom řekneme, že formule A je dokazatelná z předpokladů T, nebo dokazatelná v teorii T a píšeme T - A. Je-li T = řekneme, že A je dokazatelná a píšeme - A.