Matematická logika Rostislav Horčík horcik@math.feld.cvut.cz horcik@cs.cas.cz www.cs.cas.cz/ horcik Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 1 / 18
Predikátová logika Motivace Výroková logika studuje pouze vztahy mezi elementárními výroky (nikoli je samotné). Predikátová logika tyto elementární výroky dále strukturuje. Tudíž umožňuje zformalizovat některé úsudky nelze postihnout výrokovou logikou např. Sókratés je člověk. Každý člověk je smrtelný. Sókratés je smrtelný. Ve výrokové logice tento úsudek nelze zformalizovat, protože použité výroky spolu nesouvisí (úsudek by odpovídal tvrzení {p, q} = r, které neplatí). Souvislost mezi výroky je třeba hledat uvnitř výroků. Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 2 / 18
Motivace Predikátová logika Věta Každý člověk je smrtelný. má intuitivně tvar implikace. Říká, že každý objekt x, který je člověk, má vlastnost být smrtelný. Formálně x(člověk(x) Smrtelný(x)). Věta Sókratés je člověk. nám říká, že objekt Sókratés má vlastnost být člověk. Formálně Člověk(Sókratés). Výše zmíněný úsudek nám tedy dává Smrtelný(Sókratés). Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 3 / 18
Predikátová logika Potřebné prvky jazyka Logika, která umí postihnout úsudek se Sókratem (ale hlavně také usuzování matematiků), je logika predikátová (někdy také prvořádová). Pokud chceme formalizovat výše uvedené věty, je zřejmé, že náš formální jazyk musí obsahovat následující položky: logické spojky ( ) konstanty pro objekty (Sókratés), proměnné pro objekty (x), symboly pro vlastnosti (predikáty) jako být člověk a být smrtelný, kvantifikátor pro každé ( ). Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 4 / 18
Predikátová logika Další příklad Ukažme si jinou větu, kterou bychom rádi postihli jazykem predikátové logiky: Pro každé reálné číslo x existuje reálné číslo y takové, že x = y + y. Formání zápis Nové prvky: kvantifikátor existuje ( ), binární predikát býti rovno (=), x( y(x = y + y)). funkční symbol +, který dvojici objektů x, y přiřazuje objekt x + y. Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 5 / 18
Predikátová logika Jazyk predikátové logiky Jazyk predikátové logiky L se skládá z 1 logických symbolů spočetné množiny objektových proměnných Var = {x, y, z,...}, výrokových logických spojek,,,,, obecného (univerzálního) kvantifikátoru a existečního kvantifikátoru, 2 speciálních (mimologických) symbolů množiny predikátových symbolů Pred = {P, Q, R,...}, množiny konstatních symbolů Kons = {a, b, c,...}, množiny funkčních symbolů Func = {f, g, h,...}, 3 pomocných symbolů: závorky a čárka. Každý predikátový a funční symbol má danou aritu (četnost). Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 6 / 18
Predikátová logika Termy Množina termů jazyka L je definována těmito pravidly: 1 Každá proměnná a každý konstatní symbol je term. 2 Jestliže f je funkční symbol arity n a t 1,..., t n jsou termy, pak f (t 1,..., t n ) je také term. 3 Nic, co nevzniklo konečným použitím 1 a 2, není term. Příklady Mejmě jazyk obsahující unární funkční symbol f, binární funkční symbol + a konstatní symbol 0. Pak následující jsou termy: x + 0 (píšeme x + y místo +(x, y)), 0 + (0 + (0 + 0)), f (f (x) + f (0 + 0)). Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 7 / 18
Formule Predikátová logika Atomická formule je predikátový symbol P aplikovaný na tolik termů, kolik je jeho arita. Tj. pro n-ární P Pred a termy t 1,..., t n je P(t 1,..., t n ) atomická formule. Množina formulí je definována těmito pravidly: 1 Každá atomická formule je formule. 2 Jsou-li ϕ a ψ dvě formule, pak ( ϕ), (ϕ ψ), (ϕ ψ), (ϕ ψ), (ϕ ψ) jsou opět formule. 3 Je-li ϕ formule a x proměnná, pak ( xϕ) a ( xϕ) jsou opět formule. 4 Nic, co nevzniklo konečným použitím 1 až 3, není formule. Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 8 / 18
Predikátová logika Další terminologie Podřetězec formule ϕ, který je sám formulí, se nazývá podformulí formule ϕ. Odpovídá podstromu derivačního stromu ϕ určeného vrcholem s predikátovým symbolem, logickou spojkou nebo kvantifikátorem. Mějme formuli ϕ a proměnnou x, která se vyskytuje ve ϕ. Výskyt proměnné x je vázaný ve ϕ, jestliže se x vyskytuje v nějaké podformuli formule ϕ tvaru ( xψ) nebo ( xψ). V opačném případě mluvíme o volném výskytu. Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 9 / 18
Predikátová logika Příklady Uvažujme formuli v jazyku s unárním funčním symbolem f, binárním funkčním symbolem + a binárními predikátovými symboly <, = x(x < y y(z + f (y) = x)). výskyt proměnné z je volný, všechny tři výskyty proměnné x jsou vázané, proměnná y má první výskyt volný a druhý vázaný. Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 10 / 18
Predikátová logika Sentence a otevřené formule Pokud má formule ϕ pouze vázané výskyty proměnných, pak se nazývá sentence (uzavřená formule). Pokud má formule ϕ pouze volné výskyty proměnných, pak se nazývá otevřená formule. Příklady z y x(x < y y(z + f (y) = x)) je sentence, x < y z + f (y) = x je otevřená formule, x(x < y y(z + f (y) = x)) není ani uzavřená ani otevřená, 0 < f (f (0)) je uzavřená i otevřená. Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 11 / 18
Sémantika predikátové logiky Sémantika predikátové logiky Co je tedy třeba k určení významu predikátové formule? x(člověk(x) Smrtelný(x)), x( y(x = y + y)). Určit odkud jsou objekty (u příkladu se Sókratem to mohla být např. množina všech bytostí ve vesmíru, u příkladu s racionálními čísly to byly racionální čísla). Vymezit objekty (n-tice objektů), které mají dané vlastnosti (např. které objektu jsou člověk nebo která dvě racionální čísla jsou si rovna). Určit význam konstant a funkčních symbolů (např. + reprezentuje sčítání racionálních čísel). Určit význam logických spojek a kvantifikátorů. Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 12 / 18
Sémantika predikátové logiky Interpretace Interpretace jazyka L (struktura pro jazyk L) je dvojice U,, kde U je neprázdná množina nazývaná universum (nosič), je přiřazení, které 1 každému predikátovému symbolu P Pred arity n přiřazuje podmnožinu P množiny U n, tj. n-ární relaci na množině U, 2 každému konstatnímu symbolu a Kons přiřazuje prvek a z U, 3 každému funkčnímu symbolu f Func arity n přiřazuje zobrazení f : U n U. Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 13 / 18
Sémantika predikátové logiky Příklady interpretací 1 Uvažujme jazyk L s jedním binárním predikátovým symbolem H. Interpretace L je např. dvojice U,, kde U = {a, b, c, d} a H = {(a, b), (a, c), (b, c), (c, d), (d, a), (d, b)} 2 Mějme jazyk L s binárními predikáty, =, binárními funkčními symboly +, a dvěmi konstantami 0, 1. Interpretace L je např. dvojice U,, kde U = R, = {(a, b) R 2 a je menší nebo rovno b}, = = {(a, b) R 2 a je rovno b}, 0 = reálné číslo nula, 1 = reálné číslo jedna, + : R 2 R sčítání reálných čísel, : R 2 R násobení reálných čísel. Tuto interpretaci budeme nazývat struktura reálných čísel. Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 14 / 18
Sémantika predikátové logiky Ohodnocení termů Ohodnocení proměnných (kontext) v interpretaci U, je zobrazení ρ: Var U. Je-li x proměnná a a U, pak symbol ρ[x := a] označuje ohodnocení proměnných (update), které proměnné x přiřadí a a na všech ostatních proměnný se shoduje s ρ. Mějme interpretaci U, a ohodnocení proměnných ρ. Pro libovolný term t určíme jeho hodnotu t ρ takto: Je-li term konstatní symbol a Kons, pak jeho hodnota je a ρ = a. Je-li term proměnná x, pak jeho hodnota je x ρ = ρ(x). Je-li f (t 1,..., f n ) term, pak jeho hodnota je t ρ = f ( t 1 ρ,..., t n ρ ). Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 15 / 18
Sémantika predikátové logiky Pravdivostní hodnota formule Necht U, je interpretace a ρ je ohodnocení proměnných. Atomická formule ϕ = P(t 1,..., t n ) je pravdivá pokud, ( t 1 ρ,..., t n ρ ) P. Formule ϕ je pravdivá právě tehdy, když ϕ je nepravdivá. Formule ϕ ψ je pravdivá právě tehdy, když obě ϕ a ψ jsou pravdivé. Formule ϕ ψ je pravdivá právě tehdy, když alespoň jedna z ϕ a ψ je pravdivá. Formule ϕ ψ je nepravdivá právě tehdy, když ϕ je pravdivá a ψ nepravdivá. Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 16 / 18
Sémantika predikátové logiky Pravdivostní hodnota formule (pokračování) Formule ϕ ψ je pravdivá právě tehdy, když ϕ a ψ jsou bud obě pravdivé nebo nepravdivé. Formule xϕ je pravdivá právě tehdy, když ϕ je pravdivá v každém ohodnocení ρ[x := d], kde d U. Formule xϕ je pravdivá právě tehdy, když ϕ je pravdivá alespoň v jednom ohodnocení ρ[x := d], kde d U. Pravdivost formule tedy závisí na interpretaci U, a ohodnocení proměnných ρ. Pokud to chceme zdůraznit, říkáme ϕ je pravdivá v interpretaci U, a ohodnocení ρ. Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 17 / 18
Sémantika predikátové logiky Příklady 1 x(h(x, x)) je nepravdivá v U,, kde U = {a, b, c}, H = {(a, b), (a, c), (b, c)}, a ohodnocení ρ(x) = a. 2 x(h(x, y) H(y, x)) je nepravdivá v U, a ohodnocení ρ(x) = ρ(y) = b. 3 x(h(x, y) H(y, x)) je pravdivá v U, a ohodnocení ρ(x) = ρ(y) = a. 4 x( y((h(x, y) H(y, z)) H(x, z))) je pravdivá v U,. 5 x( y(x = y + y)) je pravdivá ve struktuře reálných čísel, ale není pravdivá ve struktuře celých čísel. Pravdivost sentencí nezávisí na ohodnocení proměnných, ale jen na interpretaci. Rostislav Horčík (ČVUT FEL) Y01MLO Letní semestr 2007/2008 18 / 18