Výroková a predikátová logika --

Transkript

Výroková a predikátová logika --
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

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ů:

Více

Diskrétní matematika a logika

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á...

Více

Matematická logika

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...

Více

ADS2-Rekurse

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...

Více

Martin Nitsche, PhD. Date of birth 23. 6. 1975 Objective

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...

Více

4IT101 - Otázky k závěrečnému testu

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 ...

Více