Predikátová logika Jiří Velebil: AD0B01LGR 2015 Predikátová logika 1/20
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: AD0B01LGR 2015 Predikátová logika 2/20
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: AD0B01LGR 2015 Predikátová logika 3/20
Definice (Termy a formule jazyka L predikátové logiky) Jsou vytvářeny takto: 1 Termy: t ::= x f (t 1,..., t n ), kde x Var, f Func arity n. 2 Formule: ϕ ::= (t 1 = t 2 ) P(t 1,..., t n ) tt (ϕ 1 ϕ 2 ) (ϕ 1 ϕ 2 ) (ϕ 1 ϕ 2 ) (ϕ 1 ϕ 2 ) ( ϕ 1 ) ( x.ϕ 1 ) ( x.ϕ 1 ) kde t 1, t 2,... t n 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: AD0B01LGR 2015 Predikátová logika 4/20
Syntaktická analýza Jako ve výrokové logice (syntaktické stromy). Každý list úspěšného stromu je obsazen bud standardní proměnnou nebo funkčním symbolem arity 0 nebo predikátovým symbolem arity 0. Definice (Výskyty standardních proměnných) Máme formuli ϕ jazyka predikátové logiky a její syntaktický strom. 1 List obsazený stand. proměnnou x je výskyt stand. proměnné x ve formuli ϕ. 2 Výskyt stand. proměné x je vázaný, pokud cestou ke kořeni narazíme na x nebo x. V opačném případě je výskyt volný. 3 Formule ϕ je sentence, pokud má všechny výskyty stand. proměnných vázané. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 5/20
Definice (α-konverze) Dvě formule, které se liší pouze legálním přejmenováním vázaných proměnných, považujeme za totožné. Legální přejmenování znamená: 1 Přejmenováváme výskyty, vázané daným kvantifikátorem. 2 Po přejmenování se žádný původně volný výskyt nesmí stát vázaným. Důsledek Každou formuli predikátové logiky lze zapsat tak, že každá stand. proměnná má všechny výskyty bud pouze volné nebo pouze vázané. Problém řídí sémantiku: musíme dát význam termům, formuĺım s volnými proměnnými, pak můžeme pochopit význam sentencí. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 6/20
Definice (Interpretace predikátů a funkčních symbolů) 1 Neprázdná množina U: universum interpretace. 2 Přiřazení [[ ]], které 1 Každému predikátu P arity n přiřazuje množinu [[P]] uspořádaných n-tic prvků universa U. 2 Každému funkčnímu symbolu f arity n přiřazuje funkci [[f ]] : U n U. Interpretaci predikátů a funkčních symbolů značíme: U, [[ ]]. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 7/20
Definice (Kontext standardních proměnných) At U, [[ ]] je interpretace predikátů a funkčních symbolů. Kontext standardních proměnných je funkce ρ : Var U. Jestliže ρ je kontext standardních proměnných, x Var a d U, pak symbolem ρ[x := d] označíme kontext standardních proměnných, který má stejné hodnoty jako kontext ρ, kromě hodnoty d v x. Kontextu ρ[x := d] říkáme update kontextu ρ o hodnotu d v x. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 8/20
Definice ( termů predikátové logiky) V interpretaci U, [[ ]] a kontextu ρ mají termy jazyka L následující sémantiku: 1 [[x]] ρ = ρ(x) pro každou standardní proměnnou. 2 Term f (t 1,..., t n ) má sémantiku [[f (t 1,..., t n )]] ρ = [[f ]]([[t 1 ]] ρ,..., [[t n ]] ρ ) Jiří Velebil: AD0B01LGR 2015 Predikátová logika 9/20
Definice ( formuĺı predikátové logiky) V interpretaci U, [[ ]] a kontextu ρ mají formule jazyka L následující sémantiku: 1 Atomická formule t 1 = t 2 je pravdivá, když platí rovnost [[t 1 ]] ρ = [[t 2 ]] ρ v universu U. 2 Atomická formule P(t 1,..., t n ) je pravdivá, když platí 3 Formule tt je pravdivá. ([[t 1 ]] ρ,..., [[t n ]] ρ ) [[P]] 4 Formule ϕ je pravdivá právě tehdy, když formule ϕ je nepravdivá. 5 Formule ϕ ψ je pravdivá právě tehdy, když jsou obě formule ϕ a ψ pravdivé současně. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 10/20
Definice ( formuĺı predikátové logiky pokrač.) 6 Formule ϕ ψ je pravdivá právě tehdy, když je alespoň jedna z formuĺı ϕ a ψ pravdivá. 7 Formule ϕ ψ je nepravdivá pouze tehdy, když je formule ϕ pravdivá a současně ψ nepravdivá. 8 Formule ϕ ψ je pravdivá právě tehdy, když jsou bud obě formule ϕ a ψ pravdivé současně nebo když jsou obě formule ϕ a ψ nepravdivé současně. 9 Formule x.ϕ je pravdivá, když je formule ϕ pravdivá v každém kontextu ρ[x := d], kde d je prvek U. 10 Formule x.ϕ je pravdivá, když je formule ϕ pravdivá v alespoň jednom kontextu ρ[x := d], kde d je prvek U. V predikátové logice neexistuje analogie pravdivostní tabulky! Jiří Velebil: AD0B01LGR 2015 Predikátová logika 11/20
Definice (Pravdivost sentence) Sentence ϕ je pravdivá v interpretaci U, [[ ]], když je pravdivá v libovolném kontextu ρ. Definice (Splnitelnost množiny sentencí) Množina M sentencí jazyka L predikátové logiky je splnitelná, když existuje interpretace, ve které jsou všechny sentence z množiny M pravdivé současně. Definice (Sémantická ekvivalence sentencí) Sentence ϕ a ψ jazyka L predikátové logiky jsou sémanticky ekvivalentní (značení ϕ = ψ), pokud mají stejnou pravdivostní hodnotu v každé interpretaci. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 12/20
Definice (Tautologie a kontradikce) Sentence ϕ jazyka L predikátové logiky je tautologie, pokud platí ϕ = tt a sentence ϕ je kontradikce, pokud platí ϕ = ff. Definice (Sémantický důsledek) At M je množina sentencí a ϕ je sentence jazyka L. Řekneme, že ϕ je sémantickým důsledkem množiny M (značení M = ϕ), pokud pro každou interpretaci U, [[ ]] platí: jestliže jsou všechny sentence z množiny M v interpretaci U, [[ ]] pravdivé, potom je v interpretaci U, [[ ]] pravdivá i sentence ϕ. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 13/20
Příklad Popište jazyk L predikátové logiky, ve kterém je řetězec P(z) ( x.p(x)) sentence a ukažte, že nejde o tautologii. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 14/20
Příklad Popište jazyk L predikátové logiky, ve kterém jsou řetězce sentence a rozhodněte, zda platí x. y.r(x, y) a y. x.r(x, y) x. y.r(x, y) = y. x.r(x, y) Jiří Velebil: AD0B01LGR 2015 Predikátová logika 15/20
Příklad Dokažte (formalizací ve výrokové logice), že následující dvě české věty Levné jídlo není dobré. Dobré jídlo není levné. znamenají totéž. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 16/20
Příklad Zformalizujte v predikátové logice věty: a Pan Hyde je vrah. Doktor Jekyll je pan Hyde. a Podle známé knihy z roku 1886 Podivný případ dr. Jekylla a pana Hyda skotského spisovatele Roberta Louise Stevensona (1850 1894). Stevenson se pravděpodobně inspiroval dvojím životem přes den ctihodného radního města Edinburgh, Williama Deacon Brodieho (1741 1788), který po nocích loupil, aby mohl platit své dluhy z hazardních her. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 17/20
Příklad Zformalizujte v predikátové logice větu: a Ulrich je muž bez vlastností. a Ulrich je hlavní postavou románu Muž bez vlastností rakouského spisovatele Roberta Musila (1880 1942). Jiří Velebil: AD0B01LGR 2015 Predikátová logika 18/20
Některé další logiky 1 Intuicionistická logika: zjednodušeně neplatí zákon vyloučeného třetího. 2 Kvantová logika: používaná k popisu situací na kvantové úrovni. (V kvantovém světě obecně neplatí některé zákonitosti klasické logiky.) 3 Modální logika: dvě modality Je nutné, že... Je možné, že... Drastická změna sémantiky: Kripkeho sémantika možných světů. Modality: Po každém provedení výpočetního kroku platí... Po nějakém provedení výpočetního kroku platí... používané v computer science. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 19/20
4 Deontická logika: logika normativních tvrzení: Je správné, že... Je morální, že... 5 Temporální a dynamická logika: pravdivost či nepravdivost formuĺı v čase, např. Jednou bude platit... Platí..., dokud platí, že... Používaná pro analýzu tvrzení o běhu algoritmů. 6 Logika vyššího řádu: povolena kvantifikace predikátů (a vlastností predikátů, vlastností těchto vlastností apod.). V computer science se využívá například při analýze polymorfismu v programování. Podrobněji: například text Logika programů nebo http://atrey.karlin.mff.cuni.cz/ ansa/neklasiky/. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 20/20