Predikátová logika (1. řádu)
Predikátová logika Formalizuje výroky o vlastnostech předmětů (entit) a vztazích mezi předměty, které patří do dané předmětné oblasti – univerza. Příklad: Následovník každého lichého přirozeného čísla je sudé číslo. Číslo 7 je liché. Číslo 8 je sudé. Predikátové logiky vyšších řádů formalizují vztahy mezi vlastnostmi a vztahy, vztahy mezi vztahy vlastnostmi vztahů a vlastností … . Výrokovou logiku lze považovat za predikátovou logiku nultého řádu. Formalizuje pouze výroky o entitách. S výrokovou logikou vědecké disciplíny nevystačí. S predikátovou logikou prvého řádu se zpravidla vystačí v matematice i informatice.
Jazyk predikátové logiky Logické symboly: Symboly pro proměnné (např. x, y, z, u, v, x1, x2, ... ) Logické spojky , &, , , Univerzální kvantifikátor (čti „pro všechna“) Existenční kvantifikátor (čti existuje) Speciální symboly: Symboly pro predikáty - Vyjadřují vlastnosti a vztahy. Symboly pro funkce Symboly pro konstanty (lze považovat za funkce arity) Pomocné symboly: závorky „(“, „)“, čárku „,“
Gramatika predikátové logiky Term (rekurzivní definice) Každý symbol proměnné je term. Každá konstanta je term. Jsou-li t1, … , tm termy a f je funkční symbol arity m, potom je i f(t1, … , tm) term. Nic jiného než to, co vznikne aplikací pravidel 1., 2. a 3. již term není. Atomická formule Je predikátový symbol aplikovaný na m termů, kde m je arita predikátového symbolu p(t1, … , tm). Formule (rekurzivní definice) Každá atomická formule je formule. Jsou-li a formule, pak také (), ( & ), ( ), ( ), ( ) jsou formule. Je-li formule a x proměnné, potom i (x ) a (x ) jsou formule. Nic jiného než to, co vznikne aplikací pravidel 1., 2. a 3. již formule není.
Příklady Univerzum je množina všech lidí. Nikdo, kdo není zapracován (P), nepracuje samostatně (S) x (¬P(x) ¬S(x)). Ne každý talentovaný (T) spisovatel (Sp) je slavný člověk (Sl) ¬x ((T(x) Sp(x)) Sl(x)). Někdo je spokojen (Sn) a někdo není spokojen x Sn(x) x ¬Sn(x). Někteří chytří lidé (Ch) jsou líní (L) x (Ch(x) L(x)).
Další příklady Napište formule predikátové logiky odpovídající následujícím větám. Použijte k tomu predikátové symboly uvedené v textu. Někdo má hudební sluch (S) a někdo nemá hudební sluch. Některé děti (D) nerady čokoládu (C). Nikdo, kdo nebyl poučen o bezpečnosti práce (P), nesmí pracovat v laboratořích (L). Ne každý talentovaný malíř (T) vystavuje obrazy v Národní galerii (G). Pouze studenti (S) mají nárok na studené večeře (V ). Ne každý člověk (C), který má drahé lyže (D), je špatný lyžař (S)
Volný a vázaný výskyt proměnné Výskyt proměnné x ve formuli A je vázaný, jestliže je součástí nějaké podformulex B(x) nebo x B(x) formule A. Proměnná x je vázaná ve formuli A, má-li v A vázaný výskyt. Výskyt proměnné x ve formuli A, který není vázaný, nazýváme volný. Proměnná x je volná ve formuli A, má-li v A volný výskyt. Formule, v níž každá proměnná má buď všechny výskyty volné nebo všechny výskyty vázané, se nazývá formulí s čistými proměnnými. Formule se nazývá uzavřenou, neobsahuje-li žádnou volnou proměnnou. Formule, která obsahuje aspoň jednu volnou proměnnou se nazývá otevřenou.
Interpretace Dvojice (U, I), kde U je neprázdná množina zvaná univerzum, I je zobrazení které: Každé konstantě přiřazuje prvek univerza. Každému n-árnímu funkčnímu symbolu přiřazuje funkci n proměnných na univerzu s hodnotami z univerza. Každému n-árnímu predikátu přiřazuje n-ární relaci na univerzu, tvořenou všemi n-ticemi prvků univerza, pro které je daný predikát pravdivý. Pravdivost formule predikátového počtu lze vyhodnotit pouze na základě dané interpretace a daného ohodnocení (valuace) všech volných proměnných. Pro hodnocení pravdivosti uzavřené formule predikátového počtu stačí znát danou interpretaci.
Příklad, jazyk aritmetiky Má tyto speciální symboly: 0 (konstanta nula) s (unární funkce následník) + a (binární funkce sčítání a násobení) = (binární predikátový symbol) Příklad formule x (s(0) = (0 x) + s(0))
Příklad, jazyk aritmetiky 2. řádu Máme navíc symboly pro množiny objektů M1, M2,… Způsob popisu množiny pomocí vlastnosti objektů M1 = {x | x > s(s(0))} Predikát , prvek náleží do množiny x M1 Příklad formule x (x {x | x > s(s(0))} x > 0)
Splnitelnost, tautologie, kontradikce Uzavřená formule A je splnitelná, jestliže existuje interpretace I, ve které je pravdivá. Taková interpretace se nazývá model uzavřené formule Uzavřená formule A je tautologie je-li pravdivá v každé interpretaci Uzavřená formule A je kontradikce, jestliže nemá model, tedy neexistuje interpretace I, v která by formule A byla pravdivá
Sémantický důsledek Definice je stejná jako u výrokové logiky Uzavřená Formule A je sémantický důsledek množiny uzavřených formulí M (M |= A), jestliže A je pravdivá v každém modelu množiny M.
Formální systém predikátové logiky Axiomy Axiomy výrokové logiky (t) x (x) ¬x (x) x ¬(x) Odvozovací pravidla Modus Ponens Substituce
Úplnost, korektnost a bezespornost Systém predikátové logiky je bezesporný Systém predikátové logiky je korektní Systém predikátové logiky je úplný
Co je ovšem jinak ? Každý jazyk predikátové logiky má nekonečně mnoho možných interpretací (už jenom universum lze stanovit nekonečně mnoha způsoby). Tím se liší od jazyka výrokové logiky, který má vždy jen konečný počet interpretací – ohodnocení TRUE – FALSE výrokových proměnných (jazyk výrokové logiky pracující s n výrokovými symboly má různých 2n interpretací, je tedy možné, i když časově náročné, ověřit pravdivost všech interpretací ). Tautologičnost formulí predikátové logiky nelze proto sémanticky dokazovat tak, že ukážeme, že každá možná interpretace jazyka je i modelem dané formule. Tímto způsobem jsme postupovali ve výrokové logice, když jsme zjišťovali pravdivostní hodnotu formule pro každou kombinaci pravdivostních hodnot výrokových symbolů. I zde při velkém n narážel tento postup na exponenciální růst výpočetní složitosti. U predikátového počtu nelze tento způsob užít ani teoreticky, bez ohledu na rostoucí časové nároky na výpočet. Postup ověřování pravdivosti formulí predikátové logiky je obtížné automatizovat
Predikátové logiky vyšších řádů Sem patří například i aritmetika ze ZŠ, která používá pojem množina Pro predikátové logiky vyššího než 1. řádu platí Gödelova věta o neúplnosti Žádný formální systém pro predikátovou logiku vyššího než prvního řádu není zároveň korektní a úplný. To tedy platí i pro běžnou aritmetiku Důsledek V takových systémech (a tedy i v běžné aritmetice) musí existovat tvrzení o jejichž pravdivosti nelze rozhodnout. Příkladem je tzv. „hypotéza kontinua“, uslyšíte o ní za pár týdnů