Výroková logika Alena Gollová Výroková logika 1/23
Obsah 1 Formule výrokové logiky 2 Alena Gollová Výroková logika 2/23
Formule výrokové logiky Výrok je oznamovací věta, o jejíž pravdivosti lze rozhodnout. Výroková logika označuje jednoduché výroky jako proměnné a zajímá se o stavbu složených výroků. Syntaxe se zabývá tím, jak výrok formálně zapsat, sémantika řeší pravdivost výroků vzhledem k použitým logickým spojkám. Jazyk výrokové logiky obsahuje tyto symboly: logické proměnné - např. a, b, c; množina všech logických proměnných musí být neprázdná logické spojky - základní sada je,,,,, kde je NOT, je AND, je OR, je IF..THEN, je IF AND ONLY IF (IFF) závorky Alena Gollová Výroková logika 3/23
Formule výrokové logiky Definice Je dána množina logických proměnných A. Formule výrokové logiky je definována induktivně těmito pravidly: 1 Každá logická proměnná je formule, tzv. atomická formule. 2 Jsou-li α, β formule, pak také ( α), (α β), (α β), (α β) a (α β) jsou formule. 3 Každá formule vznikla použitím konečně mnoha kroků 1 a 2. Množinu všech formuĺı s proměnnými z A označíme Fle(A). Alena Gollová Výroková logika 4/23
Formule výrokové logiky Relaxace z definice Nebudeme psát vnější závorky kolem formule, ani závorky kolem negace ( negace váže silněji než ostatní spojky ). Příklad Množina logických proměnných A = {a, b, c}. Řetězec ϕ = ((( b) a) c) tvoří formuli a má relaxovaný tvar ϕ = ( b a) c. Řetězec ψ = (( b) a c) není formule. Alena Gollová Výroková logika 5/23
Formule výrokové logiky Definice Syntaktický strom formule je kořenový strom, který zachycuje, jak formule vznikla. Induktivně je definován takto: Je-li formule atomická, pak její syntaktický strom má jediný vrchol označený příslušnou logickou proměnnou. Je-li formule tvaru α β, kde značí některou z binárních logických spojek, pak její syntaktický strom má v kořeni spojku, jeho levým následníkem je kořen podstromu pro α a pravým následníkem je kořen podstromu pro β. Je-li formule tvaru α, pak její syntaktický strom má v kořeni spojku, jeho jediným následníkem je kořen podstromu pro α. Každé formuli odpovídá jediný syntaktický strom. Jde o různé datové struktury pro práci s formulemi: STRING a TREE. Alena Gollová Výroková logika 6/23
Formule výrokové logiky Poznámka Podformule formule ϕ odpovídají podstromům syntaktického stromu pro ϕ, jež mají v kořeni kterýkoliv vrchol stromu a dále obsahují všechny potomky tohoto vrcholu. Definice Rovnost formuĺı: Dvě formule jsou si rovny, pokud tvoří stejný řetězec (v nerelaxovaném tvaru), aneb pokud jim odpovídá stejný syntaktický strom. Důsledek Existuje nekonečně mnoho formuĺı (i nad konečnou neprázdnou množinou logických proměnných). Alena Gollová Výroková logika 7/23
řeší otázku pravdivosti formuĺı vzhledem k pravdivosti atomických formuĺı a k použitým logickým spojkám. Budeme značit pravdu jako 1 a nepravdu jako 0. Známe-li pravdivost/nepravdivost atomických formuĺı, je tím určeno zobrazení u : A {0, 1}. (Jak ji zjistíme, to je záležitost vnějšího světa, např. fyzikálním měřením.) Podle významu logických spojek, můžeme pak jednoznačně určit pravdivost/nepravdivost každé formule, aneb rozšířit zobrazení u na celou množinu Fle(A). Alena Gollová Výroková logika 8/23
Sémantika logických spojek α α 0 1 1 0 α β α β α β α β α β 0 0 0 0 1 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 1 Alena Gollová Výroková logika 9/23
Definice u je zobrazení u : Fle(A) {0, 1} respektující sémantiku logických spojek, aneb splňující: u( α) = 1 právě tehdy, když u(α) = 0. u(α β) = 1 právě tehdy, když u(α) = u(β) = 1. u(α β) = 0 právě tehdy, když u(α) = u(β) = 0. u(α β) = 0 právě tehdy, když u(α) = 1 and u(β) = 0. u(α β) = 1 právě tehdy, když u(α) = u(β). Přitom u(α) = 1 znamená, že α je pravdivá v ohodnocení u; u(α) = 0 znamená, že α je nepravdivá v ohodnocení u. Alena Gollová Výroková logika 10/23
Tvrzení Každé pravdivostní ohodnocení u : Fle(A) {0, 1} je jednoznačně určeno svými hodnotami na atomických formuĺıch a A. Důsledek Je-li n atomických formuĺı, pak počet všech různých pravdivostních ohodnocení je 2 n. Pravdivostní hodnoty formule o n logických proměnných ve všech různých ohodnoceních lze zapsat do tabulky o 2 n řádcích. Každý řádek representuje jiné ohodnocení. Alena Gollová Výroková logika 11/23
Definice Formule se nazývá splnitelná formule, jestliže je pravdivá aspoň v jednom ohodnocení, tautologie, jestliže je pravdivá ve všech ohodnoceních, kontradikce, jestliže není pravdivá v žádném ohodnocení. Příklad Formule ϕ = a b je splnitelná, protože je pravdivá např. v ohodnocení u daném hodnotami u(a) = 1, u(b) = 1. Toto ohodnocení u dosvědčuje splnitelnost formule ϕ. Alena Gollová Výroková logika 12/23
Definice Množina formuĺı se nazývá splnitelná množina formuĺı, jestliže existuje aspoň jedno ohodnocení, ve kterém jsou pravdivé všechny formule z této množiny. Poznámka u lze rozšířit i na množiny formuĺı takto: u(s) = 1, právě když pro všechny formule ϕ S je u(ϕ) = 1. Přitom u(s) = 1 znamená, že množina formuĺı S je pravdivá. Je-li množina formuĺı S = {ϕ 1,..., ϕ n } konečná, pak platí: u(s) = u(ϕ 1... ϕ n ) Alena Gollová Výroková logika 13/23
Poznámka Pokud množina formuĺı S není splnitelná (tj. v každém ohodnocení je nějaká formule z S nepravdivá), říkáme, že S je nesplnitelná množina formuĺı. Pojmy tautologie a kontradikce se pro množiny formuĺı nepoužívají. Množina S = {a b, a, b} je nesplnitelná. Alena Gollová Výroková logika 14/23
Definice Řekneme, že formule ϕ a ψ jsou tautologicky ekvivalentní, jestliže pro každé ohodnocení u platí, že u(ϕ) = u(ψ). Značíme ϕ = ψ. Tvrzení Jsou-li α, β, γ a δ formule splňující α = β a γ = δ, pak platí α = β, (α γ) = (β δ), kde označuje libovolnou binární spojku. Alena Gollová Výroková logika 15/23
Tvrzení Pro každé formule α, β a γ platí: α α = α, α α = α (sém. idempotence a ) α β = β α, α β = β α (sém. komutativita a ) α (β γ) = (α β) γ, asociativita a ) α (β γ) = (α β) γ (sém. α (β α) = α, α (β α) = α (sém. absorpce a ) α = α (α β) = ( α β), (α β) = ( α β) (De Morganovy zákony) α (β γ) = (α β) (α γ), α (β γ) = (α β) (α γ) (sém. distributivní zákony) α β = α β Alena Gollová Výroková logika 16/23
Další relaxace z definice formule Pokud bude (pod)formule obsahovat pouze opakující se spojku (resp. pouze ), nemusíme v ní psát závorky. Syntaktický strom takové formule bude obsahovat vrchol se spojkou (resp. ) mající patřičný počet následníků. Např. (a b c) a je formule s logickými proměnnými a, b, c. Tvrzení Pro každé dvě formule α a β platí: α = β právě tehdy, když je formule α β tautologie. Alena Gollová Výroková logika 17/23
Další logické spojky Pro každý sloupec délky 2 n v tabulce pravdivostních ohodnocení bychom mohli zavést logickou spojku arity n. Běžně se používají nulární spojky tt TRUE, ff FALSE a binární spojky NAND (Shefferova čárka), NOR (Peirceova šipka) a XOR (vylučovací nebo). Sémantika nových spojek je určena následující tabulkou: ff tt 0 1 α β α β α β α β 0 0 1 1 0 0 1 1 0 1 1 0 1 0 1 1 1 0 0 0 Alena Gollová Výroková logika 18/23
Tvrzení Pro libovolné formule α, β platí: α β = (α β) α β = (α β) α β = (α β) ( α β) = (α β) Tvrzení Pro libovolnou formuli α platí: tt = ff tt α = α, tt α = tt, ff α = ff, ff α = α α α = ff, α α = tt Alena Gollová Výroková logika 19/23
Syntaxe a sémantika výrokové logiky Zobecněná definice formule Je dána množina logických proměnných A. Formule výrokové logiky je definována induktivně těmito pravidly: 1 Atomická formule je bud logická proměnná, nebo tt, nebo ff. 2 Jsou-li α, β formule, pak také ( α), (α β), (α β), (α β), (α β), (α β), (α β) a (α β) jsou formule. 3 Každá formule vznikla použitím konečně mnoha kroků 1 a 2. Zobecněná definice pravdivostního ohodnocení u je zobrazení u : Fle(A) {0, 1} respektující sémantiku všech logických spojek. Alena Gollová Výroková logika 20/23
Definice Množina logických spojek tvoří úplný systém logických spojek, jestliže pro každou formuli ϕ existuje formule ψ tak, že ϕ = ψ a přitom ψ používá pouze spojky z množiny. Tvrzení Množina {,,,, } je úplný systém logických spojek. Množina {, } je úplný systém logických spojek. Množina {,,, } není úplný systém logických spojek. Alena Gollová Výroková logika 21/23
Tvrzení Je-li úplný systém logických spojek a lze-li každou spojku z tautologicky ekvivalentně přepsat pomocí spojek z Γ, pak také Γ tvoří úplný systém logických spojek. Tvrzení Množina { } je úplný systém logických spojek. Více se o úplných systémech logických spojek dozvíte na cvičení. Alena Gollová Výroková logika 22/23
Syntaxe a sémantika výrokové logiky Někdy se může hodit opačný přístup - dovolit ve formuĺıch jen několik málo logických proměnných, samozřejmě takových, které společně tvoří úplný systém logických spojek. Tohoto přístupu se využívá u dokazovacích systémů, např. Hilbertův dokazovací systém používá následující definici: Zúžená definice formule Je dána množina logických proměnných A. Formule výrokové logiky je definována induktivně těmito pravidly: 1 Atomickými formulemi jsou logické proměnné. 2 Jsou-li α, β formule, pak také ( α) a (α β) jsou formule. 3 Každá formule vznikla použitím konečně mnoha kroků 1 a 2. Alena Gollová Výroková logika 23/23