Výroková a predikátová logika --
Transkript
Logika jako formální jazyk Výroková logika Predikátová logika Výroková a predikátová logika — část 1 Jiří Velebil: X01DML 1. října 2007: Logika 1/20 Logika jako formální jazyk Výroková logika Predikátová logika 1 Proč formální jazyk? 1 2 2 Přirozené jazyky jsou složité a často nejednoznačné. Komunikace s formálními nástroji musí být formální (logické databáze, umělá inteligence . . . ) Rysy formálního jazyka: 1 2 3 Syntaxe (prvotní) — jak se tvoří fráze jazyka. Sémantika — co vytvořené fráze znamenají. Syntaxe řídí sémantiku. Jiří Velebil: X01DML 1. října 2007: Logika 2/20 Logika jako formální jazyk Výroková logika Predikátová logika Výroková a predikátová logika. 1 2 Společné rysy: jde o formální jazyky, v obou lze formalizovat (některé) české věty. Základní rozdíly: 1 2 3 4 Výroková logika má malou vyjadřovací schopnost. Predikátová logika je vícesortová: mluví o objektech a jejich vlastnostech, umožňuje práci s proměnnými. Sémantické úvahy o konečně mnoha formulích výrokové logiky lze plně algoritmizovat (ovšem neefektivně). Sémantické úvahy o predikátové logice algoritmizovat nelze. Jde to pro úvahy o konečně mnoha sentencích. Jiří Velebil: X01DML 1. října 2007: Logika 3/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Sémantika Neadekvátnost výrokové logiky Dáno: neprázdná 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) Syntaxe formulí (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. Jiří Velebil: X01DML 1. října 2007: Logika 4/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Sémantika Neadekvátnost výrokové logiky 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). Jiří Velebil: X01DML 1. října 2007: Logika 5/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Sémantika Neadekvátnost výrokové logiky Definice Ohodnocení jazyka výrokové logiky je funkce u, definovaná na všech formulích a mající hodnoty 0 nebo 1. Přitom musí být (pro libovolné formule ϕ, ψ) splněno: 1 u(tt) = 1. 2 u(ϕ ∧ ψ) = 1 iff u(ϕ) = 1 a současně u(ψ) = 1. 3 u(ϕ ∨ ψ) = 0 iff u(ϕ) = 0 a současně u(ψ) = 0. 4 u(ϕ ⇒ ψ) = 0 iff u(ϕ) = 1 a současně u(ψ) = 0. 5 u(ϕ ⇔ ψ) = 1 iff u(ϕ) = u(ψ). 6 u(¬ϕ) = 1 iff u(ϕ) = 0. Zápis ohodnocení: pravdivostní tabulka. Jiří Velebil: X01DML 1. října 2007: Logika 6/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Sémantika Neadekvátnost výrokové logiky Příklad Pravdivostní tabulka pro ϕ = (b ⇒ ¬c) ⇔ ((a ∧ c) ⇒ b), kde a, b, c ∈ At. a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 ϕ 1 1 1 0 1 0 1 0 Jde o (rekursivní) algoritmus! Jiří Velebil: X01DML 1. října 2007: Logika 7/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Sémantika Neadekvátnost výrokové logiky Lemma Ať formule ϕ obsahuje n atomických proměnných. Potom její pravdivostní tabulka má 2n řádků. 1 Jiný zápis pravd. tabulky: Karnaughovy mapy — viz cvičení. 2 Jakoukoli sémantickou otázku (o konečně mnoha formulích) ve výrokové logice lze řešit prohlížením pravd. tabulky (obecně neefektivní). Jiří Velebil: X01DML 1. října 2007: Logika 8/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Sémantika Neadekvátnost výrokové logiky Definice Formule ϕ a ψ jsou sémanticky ekvivalentní (jsou synonyma), pokud platí rovnost u(ϕ) = u(ψ) pro všechna pravdivostní ohodnocení u. Značíme ϕ |=| ψ. Příklad Ať a, b ∈ At. Pak platí a ⇒ b |=| ¬a ∨ b. Sestavíme pravdivostní tabulku obou formulí (má 22 = 4 řádky): a 0 0 1 1 b 0 1 0 1 a⇒b 1 1 0 1 ¬a ∨ b 1 1 0 1 Pro zjištění ϕ |=| ψ nutno projít celou pravd. tabulku! Jiří Velebil: X01DML 1. října 2007: Logika 9/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Sémantika Neadekvátnost výrokové logiky Věta (Vlastnosti sémantické ekvivalence) 1 Je to relace ekvivalence, tj. 1 2 3 2 reflexivita: pro vš. formule α platí α |=| α symetrie: pro vš. formule α, β platí: jestliže α |=| β, pak β |=| α tranzitivita: pro vš. formule α, β, γ platí: jestliže α |=| β a současně β |=| γ, pak α |=| γ Platí sémantické zákony, například 1 2 spojka ∧ je sémanticky komutativní: pro vš. formule α, β platí: α ∧ β |=| β ∧ α sémantický absorpční zákon spojky ∧: pro vš. formule α, β platí: α ∨ (α ∧ β) |=| α . . . a řada dalších. Podrobně: skripta z logiky (JV), věta 2.1.12. Jiří Velebil: X01DML 1. října 2007: Logika 10/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Sémantika Neadekvátnost výrokové logiky Definice (Další sémantické pojmy) 1 Formule ϕ je tautologie, když platí ϕ |=| tt 2 Formule ϕ je kontradikce, když platí ϕ |=| ff 3 Ohodocení množiny formulí M: u(M) = 1 iff u(ϕ) = 1 pro všechna ϕ ∈ M 4 Množina M formulí je splněna v ohodnocení u, když platí u(M) = 1. 5 Množina M formulí je splnitelná, když existuje ohodnocení u, ve kterém je splněna. Pozor na terminologii: splněna vs. splnitelná. Jiří Velebil: X01DML 1. října 2007: Logika 11/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Sémantika Neadekvátnost výrokové logiky Příklad Ať a, b ∈ At a ať M = {a ⇒ b, a ∨ b}. a 0 0 1 1 b 0 1 0 1 a⇒b 1 1 0 1 a∨b 0 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: X01DML 1. října 2007: Logika 12/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Sémantika Neadekvátnost výrokové logiky Definice (Sémantický důsledek) Ať M je množina formulí výrokové logiky a ať ϕ 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: X01DML 1. října 2007: Logika 13/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Sémantika Neadekvátnost výrokové logiky Příklad Ať a, b ∈ At, ať M = {a ⇒ b, a ∨ b} a ϕ = a ∧ b. Platí M |= ϕ ? a 0 0 1 1 b 0 1 0 1 a⇒b 1 1 0 1 a∨b 0 1 1 1 a∧b 0 0 0 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) 6≤ 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: X01DML 1. října 2007: Logika 14/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Sémantika Neadekvátnost výrokové logiky Věta Ať M je množina formulí výrokové logiky a ať ϕ je formule výrokové logiky. Pak jsou následující tvrzení ekvivalentní: 1 Sémantický důsledek M |= ϕ platí. 2 Množina M ∪ {¬ϕ} není splnitelná. Důkaz. Pro lib. ohodnocení u platí: u(M) ≤ u(ϕ) iff u(M ∪ ¬ϕ) = 0. Jiří Velebil: X01DML 1. října 2007: Logika 15/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Sémantika Neadekvátnost výrokové logiky 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: X01DML 1. října 2007: Logika 16/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Jazyk predikátové logiky má dvě sorty: 1 Termy: to jsou objekty, o jejichž vlastnostech chceme hovořit. Mohou být proměnné. 2 Formule: jsou opět vytvářeny z atomických, ale složitěji, než ve výrokové logice. Spojky: ∧, ∨, ⇒, ⇔ a ¬. Nové jsou: ∀ (obecný kvantifikátor) a ∃ (existenční kvantifikátor). Navíc: značka = pro rovnost. Jiří Velebil: X01DML 1. října 2007: Logika 17/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Definice (Jazyk L predikátové logiky) Je dán: 1 Množinou Var standardních proměnných. 2 Množinou Pred predikátů. U každého predikátu musí být dána arita, což je přirozené číslo (smí být i nula). Množina Pred smí být prázdná. 3 Množinou Func funkčních symbolů. U každého funkčního symbolu musí být dána arita, což je přirozené číslo (smí být i nula). Množina Func smí být prázdná. Jiří Velebil: X01DML 1. října 2007: Logika 18/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Definice (Termy a formule jazyka L predikátové logiky) Jsou vytvářeny takto: 1 Termy: t ::= x | f (t1 , . . . , tn ), kde x ∈ Var, f ∈ Func arity n. 2 Formule: ϕ ::= (t1 = t2 ) | P(t1 , . . . , tn ) | (ϕ1 ∧ ϕ2 ) | (ϕ1 ∨ ϕ2 ) | (ϕ1 ⇒ ϕ2 ) | (ϕ1 ⇔ ϕ2 ) | (¬ϕ1 ) | (∀x.ϕ1 ) | (∃x.ϕ1 ) kde t1 , t2 , . . . tn jsou termy, P ∈ Pred arity n, x ∈ Var. Relaxujeme: nepíšeme vnější závorky a ¬ váže nejsilněji. Další relax později. Jiří Velebil: X01DML 1. října 2007: Logika 19/20 Logika jako formální jazyk Výroková logika Predikátová logika Syntaxe Syntaktická analýza: jako ve výrokové logice (syntaktické stromy). Každý list úspěšného stromu je obsazen buď standardní proměnnou nebo funkčním symbolem arity 0 nebo predikátovým symbolem arity 0. Jiří Velebil: X01DML 1. října 2007: Logika 20/20
Podobné dokumenty
O B E C N Í Ú Ř A D K O B E Ř I C E
4. Ve vztahu k zákonu č. 86/2002 Sb., o ochraně ovzduší a o změně některých dalších zákonů
(zákon o ochraně ovzduší"), ve znění pozdějších předpisů:
Diskrétní matematika a logika
Léta politického tréninku a zkušeností naučila Hackera použít dvacet slov tam, kde by stačilo jedno,
diktovat milióny slov tam, kde by stačily pouhé tisíce, a používat jazyk k zamlžení a překrucová...
Matematická 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 uved...
ADS2-Rekurse
podle takového algoritmu určit b! .
Jako jiný příklad lze uvést tzv. binární vyhledávání. Mějme nějaký seznam objektů,
které jsou určitým způsobem v seznamu uspořádány. Jako příklad nám může slouži...
Martin Nitsche, PhD. Date of birth 23. 6. 1975 Objective
Point of View and the Ground, in: G.-J. van der Heiden, K. Novotný, I. Römer, L. Tengelyi (eds.)
Investigating Subjectivity. Classical and New Perspectives., Studies in Contemporary Phenomenology
6...
4IT101 - Otázky k závěrečnému testu
73 Kolik může mít třída konstruktorů? Jak se od sebe odliší?
74 Pokud zdrojovém kódu třídy neuvedu konstruktor, bude mít tato třída konstruktor? Pokud ano, uveďte co bude jeho obsahem?
75 Mohou se ...