syntaxe a sémantika Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 1/16
1 Proč formální jazyk? 1 Přirozené jazyky jsou složité a často nejednoznačné. 2 Komunikace s formálními nástroji musí být formální (logické databáze, umělá inteligence... ) 2 Rysy formálního jazyka: 1 (prvotní) jak se tvoří fráze jazyka. 2 co vytvořené fráze znamenají. 3 řídí sémantiku. Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 2/16
Výroková a predikátová logika 1 Společné rysy: jde o formální jazyky, v obou lze formalizovat (některé) české věty. 2 Základní rozdíly: 1 má malou vyjadřovací schopnost. 2 Predikátová logika je vícesortová: mluví o objektech a jejich vlastnostech, umožňuje práci s proměnnými. 3 Sémantické úvahy o konečně mnoha formuĺıch výrokové logiky lze plně algoritmizovat (ovšem neefektivně). 4 Sémantické úvahy o predikátové logice algoritmizovat nelze. Jde to pro úvahy o konečně mnoha sentencích. Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 3/16
Dáno množina At (atomické formule) (smíme volit: dává vyjadřovací sílu) s ní disjunktní množina spojek {,,,, } (u každé spojky arita) (nesmíme volit: standardní část) formuĺı (Backusova-Naurova forma) ϕ ::= a tt (ϕ ϕ) (ϕ ϕ) (ϕ ϕ) (ϕ ϕ) ( ϕ) kde a At Relaxujeme: nepíšeme vnější závorky a váže nejsilněji. Zkratka: ff je zkratka za tt. Množinu všech formuĺı nad At značíme Fm(At). Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 4/16
Příklad (v relaxované syntaxi) Je řetězec (x (z a)) (E y) formule? NE: x, y, z, a, E jsou neznámé symboly. MOŽNÁ ANO: musí být x, y, z, a, E At a řetězec musí být vytvořen podle pravidel (relaxované) syntaxe: ke zjištění používáme syntaktické stromy (parsing trees). Poznámka Relaxování syntaxe se lze vyhnout, pokud definujeme formuli rovnou jako jistý strom. Taková definice je ekvivalentní výše uvedené definici, tj. 1 Je-li dána formule jako řetězec, jde jí jednoznačně přiřadit strom. 2 Je-li dána formule jako strom, jde jí jednoznačně přiřadit řetězec. Oba přepisy lze realizovat algoritmem. Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 5/16
Definice Pravdivostní ohodnocení jazyka výrokové logiky je funkce u : At {0, 1}. Věta (o jednoznačnosti pravdivostní tabulky) Pro každé u : At {0, 1} existuje právě jedno zobrazení u : Fm(At) {0, 1} tak, že je (pro libovolné formule ϕ, ψ a libovolné a At) splněno: 1 u (a) = u(a). 2 u (tt) = 1. 3 u (ϕ ψ) = 1 iff u (ϕ) = 1 a současně u (ψ) = 1. 4 u (ϕ ψ) = 0 iff u (ϕ) = 0 a současně u (ψ) = 0. 5 u (ϕ ψ) = 0 iff u (ϕ) = 1 a současně u (ψ) = 0. 6 u (ϕ ψ) = 1 iff u (ϕ) = u (ψ). 7 u ( ϕ) = 1 iff u (ϕ) = 0. Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 6/16
Zápis pravdivostního ohodnocení: pravdivostní tabulka. Pravdivostní tabulka pro ϕ = (b c) ((a c) b), kde a, b, c At. a b c ϕ 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 1 1 1 1 0 Jde o (rekursivní) algoritmus! V dalším nebudeme rozlišovat mezi u a u a budeme psát vždy u (a mluvit o pravdivostním ohodnocení formuĺı). Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 7/16
Lemma At formule ϕ obsahuje n atomických proměnných. Potom její pravdivostní tabulka má 2 n řádků. Důkaz: Všech funkcí z n-prvkové do 2-prvkové množiny je přesně 2 n. Poznámky 1 Jiný zápis pravd. tabulky: Karnaughovy mapy viz cvičení a skripta z logiky, část 2.2. 2 Jakoukoli sémantickou otázku (o konečně mnoha formuĺıch) ve výrokové logice lze řešit prohĺıžením pravd. tabulky (obecně neefektivní). Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 8/16
Definice Formule ϕ a ψ jsou sémanticky ekvivalentní (jsou synonyma), pokud platí rovnost u(ϕ) = u(ψ) pro všechna pravdivostní ohodnocení u. Značíme ϕ = ψ. Příklad At a, b At. Pak platí a b = a b. Sestavíme pravdivostní tabulku obou formuĺı (má 2 2 = 4 řádky): a b a b a b 0 0 1 1 0 1 1 1 1 0 0 0 1 1 1 1 Pro zjištění ϕ = ψ nutno projít celou pravd. tabulku! Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 9/16
Věta (Vlastnosti sémantické ekvivalence) 1 Je to relace ekvivalence, tj. 1 reflexivita: pro vš. formule α platí α = α 2 symetrie: pro vš. formule α, β platí: jestliže α = β, pak β = α 3 tranzitivita: pro vš. formule α, β, γ platí: jestliže α = β a současně β = γ, pak α = γ 2 Platí sémantické zákony, například 1 spojka je sémanticky komutativní: pro vš. formule α, β platí: α β = β α 2 sémantický absorpční zákon spojky : pro vš. formule α, β platí: α (α β) = α... a řada dalších. Podrobně: skripta z logiky, věta 2.1.12. Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 10/16
Definice (Další sémantické pojmy) 1 Formule ϕ je tautologie, když platí ϕ = tt 2 Formule ϕ je kontradikce, když platí ϕ = ff 3 Ohodocení množiny formuĺı M: u(m) = 1 iff u(ϕ) = 1 pro všechna ϕ M 4 Množina M formuĺı je splněna v ohodnocení u, když platí u(m) = 1. 5 Množina M formuĺı je splnitelná, když existuje ohodnocení u, ve kterém je splněna. Pozor na terminologii: splněna vs. splnitelná. Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 11/16
Příklad At a, b At a at M = {a b, a b}. a b a b a b 0 0 1 0 0 1 1 1 1 0 0 1 1 1 1 1 1 Druhý řádek tabulky: u(a) = 0, u(b) = 1. Platí u(m) = 1. Zde je M splněna. 2 Třetí řádek tabulky: u(a) = 1, u(b) = 0. Platí u(m) = 0. Zde M není splněna. 3 Celkově: M je splnitelná. (Druhý řádek tabulky je svědkem.) Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 12/16
Definice (Sémantický důsledek) At M je množina formuĺı výrokové logiky a at ϕ je formule výrokové logiky. Řekneme, že sémantický důsledek M = ϕ platí, pokud pro všechna ohodnocení u platí: u(m) u(ϕ). Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 13/16
Příklad At a, b At, at M = {a b, a b} a ϕ = a b. Platí M = ϕ? a b a b a b a b 0 0 1 0 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 Tj.: platí u(m) u(ϕ) na každém řádku? 1 První řádek: 0 = u(m) u(ϕ) = 0. 2 Druhý řádek: 1 = u(m) u(ϕ) = 0. 3 Třetí řádek: 0 = u(m) u(ϕ) = 0. 4 Čtvrtý řádek: 1 = u(m) u(ϕ) = 1. M = ϕ neplatí (druhý řádek je svědkem). Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 14/16
Věta (O sémantickém důkazu sporem důležité!) At M je množina formuĺı výrokové logiky a at ϕ je formule výrokové logiky. Označme X = M { ϕ}. Pak jsou následující tvrzení ekvivalentní: 1 Sémantický důsledek M = ϕ platí. 2 Množina X není splnitelná. 3 Platí X = ff. Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 15/16
Příklad Zformalizujte: Nebude-li pršet, nezmoknem. Příklad Zformalizujte: Ne každý, kdo hraje na housle, je Sherlock Holmes. Potíže: 1 Nutnost zavedení proměnných (kvantifikace). 2 Atomické entity dvou typů: objekty a jejich vlastnosti. Tyto dvě obtíže odstraňuje predikátová logika. Jiří Velebil: AD0B01LGR 2015 Handout 01: & sémantika VL 16/16