Rovnost Jedním z nejdůležitějších druhů relací je rovnost(identita). Prvkyxayjsousirovny,cožzapisujeme x =y, jestližesejednáojedenatentýžprvek. Rovnost lze vyjádřit jako predikát, např. můžeme zvolit, že P(x, y) reprezentujetvrzení xjerovnoy. VrůznýchinterpretacíchalemůžeplatitP(x,y)ipronavzájemrůzné prvkyxaynebonaopakpronějakýprvekxnemusíplatitp(x,x)apod. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 1/ 38
Rovnost Příklad:Chtělibychomformulípopsatvztah xjesourozencemy pomocíbinárníhopredikátur,kder(x,y)znamená xjerodičemy. Pokus o řešení: xjesourozencemy právě tehdy, když z(r(z,x) R(z,y)) Problém:Pokudprodanéxexistujeprvekztakový,žeR(z,x),takbude platit z(r(z,x) R(z,x)), takžebudeplatit xjesourozencemx. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 2/ 38
Rovnost Abeceda:... Symbol pro rovnost: =... Atomické formule(pokrač.)... Jestližexayjsouproměnné,takx =yjedobřeutvořenáatomická formule.... V každé interpretaci je symbol = interpretován jako rovnost, tj. v každé interpretaci Aavaluaciv: A,v =x =yprávětehdy,kdyžv(x) =v(y). Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 3/ 38
Rovnost Příklad:Vztah xjesourozencemy jemožnévyjádřitformulí (x =y) z(r(z,x) R(z,y)), kder(x,y)znamená,že xjerodičemy. Poznámka:Místo (x =y)sečastopoužívázápisx y. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 4/ 38
Rovnost Existujeprávějednoxtakové,žeP(x) : x(p(x) y(p(y) x =y)) Existujíalespoňdvaprvkyxtakové,žeP(x) : x y(p(x) P(y) (x =y)) Existujíprávědvaprvkyxtakové,žeP(x) : x y(p(x) P(y) (x =y) z(p(z) (z =x z =y))) Existujeprávějednoxtakové,žepronějplatí ϕ : x(ϕ y(ϕ[y/x] x =y)) Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 5/ 38
Konstanty Někdy chceme mluvit o nějakém konkrétním prvku universa. Příklad: Existujealespoňjednoxtakové,žeJanNovákjerodičemxa xježena. (Tj. JanNovákmáalespoňjednudceru. ) Pokudjeproměnnéypřiřazen JanNovák : x(r(y,x) S(x)) R(x,y) xjerodičemy S(x) xježena Mohli bychom zavést unární predikát N reprezentující vlastnost být Jan Novák : y(n(y) x(r(y,x) S(x))) Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 6/ 38
Konstanty PokudmámenějakýunárnípredikátN,kdenászajímajíjenty interpretace, kde existuje právě jeden prvek x, pro který platí N(x), může býtvýhodnémítmožnosttentoprvekpojmenovataobejítsetakbez predikátu N. K tomuto účelu slouží konstantní symboly(konstanty). Abeceda:... konstantnísymboly: a, b, c, d,...... Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 7/ 38
Konstanty V atomických formulích se konstanty mohou vyskytovat na stejných místech jako proměnné: P(c,x) Q(d) R(a,a) x =a Konstanty se nesmí používat v kvantifikátorech např. cp(x, c) není dobře utvořená formule. Hodnoty přiřazené konstantním symbolům jsou dány příslušnou interpretací: Daná interpretace A(s universem A) přiřazuje každému konstantnímu symbolu c nějaký prvek universa A. Označmetentoprvekc A.Platítedyc A A. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 8/ 38
Konstanty Příklad: Existujealespoňjednoxtakové,žeJanNovákjerodičemxa xježena. x(r(a,x) S(x)) R(x,y) xjerodičemy S(x) xježena a konstatnísymbolreprezentující JanaNováka Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 9/ 38
Konstanty Příklad: Každéprvočíslojevětšínežjedna. x(p(x) R(x,e)) P(x) xjeprvočíslo R(x,y) xjevětšínežy e konstatní symbol reprezentující hodnotu 1 Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 10/ 38
Funkce Binární relace R je(unární) funkce, jestliže pro každé x existuje nejvýše jednoytakové,že (x,y) R. Tatofunkcejetotální,jestližeprokaždéxexistujeprávějednotakovéy. Příklad: Binární relace R na množině přirozených čísel N, kde (x,y) R právětehdy,když y =x +1 Platí tedy R = {(0,1), (1,2), (2,3), (3,4), (4,5),... } Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 11/ 38
Funkce Podobně ternární relace T je(binární) funkce, jestliže pro každé dva prvkyx 1 ax 2 existujenejvýšejedno(resp.vpřípadětotálnífunkceprávě jedno) y takové, že (x 1,x 2,y) T. Příklad: Sčítání na množině reálných čísel R je možné chápat jako ternární relaci S(tj. jako množinu trojic reálných čísel), kde (x 1,x 2,y) S právětehdy,když x 1 +x 2 =y Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 12/ 38
Funkce V predikátové logice můžeme funkce reprezentovat pomocí predikátů zastupujících příslušné relace není to ale příliš přímočaré ani pohodlné. Příklad: Prokaždéxayplatí,žex+y y +x. x y z w(s(x,y,z) S(y,x,w) P(z,w)) S(x,y,z) zjesoučtemhodnotxay P(x,y) xjevětšíneborovnoy Poznámka:Navícmusímepředpokládat,žeprokaždédvaprvkyxay existujeprávějedenprvekztakový,žes(x,y,z). Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 13/ 38
Funkce V predikátové logice je možné reprezentovat funkce pomocí funkčních symbolů. Abeceda:... funkčnísymboly: f, g, h,...... Každý funkční symbol musí mít stanovenu aritu odpovídající aritě funkce, kterou tento symbol zastupuje(tj. počet argumentů příslušné funkce). Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 14/ 38
Termy Termy výrazy složené z proměnných a konstantních a funkčních symbolů reprezentující prvky universa Příklad: Řekněme, že máme binární predikát F, kde předpokládáme, že pro každéxexistujeprávějednoytakové,že F(x,y). Místo binárního predikátu F můžeme použít unární funkční symbol f. Term f(x) reprezentujeonenjedinýprveky,prokterýplatíf(x,y). Místo y(f(x,y) P(y))pakmůžemepsátP(f(x)). Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 15/ 38
Termy Příklad: Řekněme, že máme ternární predikát G, kde předpokládáme, že pro každédvaprvkyx 1 ax 2 existujeprávějednoytakové,že G(x 1,x 2,y). Místo ternárního predikátu G můžeme použít binární funkční symbolg. Term g(x 1,x 2 ) reprezentujeonenjedinýprveky,prokterýplatíg(x 1,x 2,y). Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 16/ 38
Termy Příklad: Prokaždéxayplatí,žex+y y +x. x yp(f(x,y),f(y,x)) f binárnífunkčnísymbol,kdef(x,y)reprezentujesoučet hodnotxay P binární predikátový symbol, kde P(x, y) reprezentuje vztah xjevětšíneborovnoy Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 17/ 38
Termy Proměnné, konstantní symboly a funkční symboly je možné v termech libovolně skládat je pouze třeba dodržet aritu všech funkčních symbolů (aplikovat každý funkční symbol na správný počet argumentů). Příklad: c konstantní symbol f unární funkční symbol g binární funkční symbol h binární funkční symbol Příklady termů: x f(y) g(c,x) g(h(x,x),f(c)) g(h(x,f(x)),g(f(c),g(y,f(f(z))))) Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 18/ 38
Termy Syntaktickýstromtermug(h(x,f(x)),g(f(c),g(y,f(f(z))))) g h g PSfrag replacements x f f g x c y f f z Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 19/ 38
Termy ve formulích Syntaktický strom formule x( y(r(f(x),f(g(c,y))) y=f(y)) z(p(g(x,f(z))) Q(z))) PSfrag replacements P Q R c f f f f g g x x x y y y y z z z = Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 20/ 38
Termy ve formulích Příklad: Prokaždéx,yazplatí (x +y)+z =x +(y +z): x y z(f(f(x,y),z) =f(x,f(y,z))) Prokaždéxplatíx+0 =xa0+x =x: x(f(x,e) =x f(e,x) =x) Prokaždéxexistujeytakové,žex+y =0: x y(f(x,y) =e) Konstantní a funkční symboly: f binárnífunkčnísymbolreprezentující sčítání (operace + ) e konstatní symbol reprezentující prvek 0 Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 21/ 38
Termy ve formulích Příklad: Prokaždéx,yazplatíx (y +z) =x y +x z: x y z(g(x,f(y,z)) =f(g(x,y),g(x,z))) Prokaždéxaytakové,žex y,platíprovšechnaz,že x +z y +z: x y(r(x,y) zr(f(x,y),f(y,z))) Konstantní a funkční symboly: f binárnífunkčnísymbolreprezentující sčítání (operace + ) g binárnífunkčnísymbolreprezentující násobení (operace ) R binární predikátový symbol reprezentující relaci menší nebo rovno (relace ) Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 22/ 38
Syntaxe formulí predikátové logiky Abeceda: logickéspojky,,, a kvantifikátory a rovnost = pomocnésymboly (, ) a, proměnné x, y, z,..., x 0, x 1, x 2,... predikátové symboly například symboly P, Q, R, apod. (u každého symbolu musí být navíc stanovena příslušná arita) funkčnísymboly napříkladsymboly f, g, h,apod. (u každého symbolu musí být navíc stanovena příslušná arita) konstantní symboly například symboly a, b, c, apod. Poznámka: Na konstantní symboly se lze dívat jako na funkční symboly saritou0. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 23/ 38
Syntaxe formulí predikátové logiky Definice Dobře utvořené termy jsou definovány následujícím způsobem: 1 Jestližexjeproměnná,takxjedobřeutvořenýterm. 2 Jestližecjekonstatnísymbol,takcjedobřeutvořenýterm. 3 Jestližef jefunkčnísymbolsaritounat 1,t 2,...,t n jsoudobře utvořené termy, tak je dobře utvořený term. f(t 1,t 2,...,t n ) 4 Neexistují žádné další dobře utvořené termy než ty, které jsou vytvořeny pomocí předchozích pravidel. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 24/ 38
Syntaxe formulí predikátové logiky Definice Dobře utvořené atomické formule jsou definovány následujícím způsobem: 1 JestližePjepredikátovýsymbolsaritounat 1,t 2,...,t n jsoudobře utvořené termy, tak P(t 1,t 2,...,t n ) je dobře utvořená atomická formule. 2 Jestližet 1 at 2 jsoudobřeutvořenétermy,tak t 1 =t 2 je dobře utvořená atomická formule. 3 Neexistují žádné další dobře atomické formule než ty, které jsou vytvořeny pomocí předchozích dvou pravidel. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 25/ 38
Syntaxe formulí predikátové logiky Definice(zopakování dříve uvedené definice) Dobře utvořené formule predikátové logiky jsou posloupnosti symbolů vytvořené podle následujících pravidel: 1 Dobře utvořené atomické formule jsou dobře utvořené formule. 2 Jestliže ϕaψjsoudobřeutvořenéformule,paki( ϕ), (ϕ ψ), (ϕ ψ), (ϕ ψ)a(ϕ ψ)jsoudobřeutvořenéformule. 3 Jestliže ϕjedobřeutvořenáformuleaxjeproměnná,tak xϕa xϕ jsou dobře utvořené formule. 4 Neexistují žádné další dobře utvořené formule než ty, které jsou vytvořené pomocí předchozích pravidel. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 26/ 38
Sémantika predikátové logiky Interpretace A: universum A každému predikátovému symbolu P s aritou n je přiřazena n-ární relacep A,kdeP A A A A každému funkčnímu symbolu f s aritou n je přiřazena n-ární funkcef A,kdef A :A A A A každémukonstantnímusymbolucjepřiřazenprvekuniversac A, tj.c A A Poznámka: V interpretacích se funkčním symbolům přiřazují pouze totální funkce, tj. funkce, jejichž hodnota je definovaná pro všechny možné hodnoty argumentů. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 27/ 38
Sémantika predikátové logiky Hodnotatermuvinterpretaci Aavaluaciv: Termx,kdexjeproměnná hodnotoutohototermujeprveka A takový,žev(x) =a. Termc,kdecjekonstantnísymbol hodnotoutohototermuje prvekc A A. Termf(t 1,t 2,...,t n ),kdef jefunkčnísymbolsaritouna t 1,t 2,...,t n jsoutermy hodnotoutohototermujeprvekb A takový, že b =f A (a 1,a 2,...,a n ), kdea 1,a 2,...,a n jsouhodnotytermůt 1,t 2,...,t n vinterpretaci Aa valuaciv. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 28/ 38
Sémantika predikátové logiky Příklad: Intrepretace A, kde universem je množina přirozených čísel N = {0,1,2,... }. a A =0 f A jefunkce následník,tj.f A (x) =x +1 g A jefunkce součet,tj.g A (x,y) =x +y Valuacev,kdev(x) =5,v(y) =13,v(z) =2,... Hodnotytermůvinterpretaci Aavaluaciv: Termx hodnota5 Terma hodnota0 Termf(a) hodnota1 (0+1 =1) Termf(f(a)) hodnota2 (1+1 =2) Termg(x,f(f(a))) hodnota7 (5+2 =7) Termg(z,y) hodnota15 (2+13 =15) Termf(g(z,y)) hodnota16 (15+1 =16) Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 29/ 38
Sémantika predikátové logiky Pravdivostní hodnoty atomických formulí při interpretaci A a valuaci v: A,v =P(t 1,t 2,...,t n ),kdepjepredikátovýsymbolsaritouna t 1,t 2,...,t n jsoutermy,platíprávětehdy,když (a 1,a 2,...,a n ) P A, kdea 1,a 2,...,a n jsouhodnotytermůt 1,t 2,...,t n vinterpretaci Aa valuaciv. A,v =t 1 =t 2,kdet 1 at 2 jsoutermy,platíprávětehdy,když a 1 =a 2, kdea 1 aa 2 jsouhodnotytermůt 1 at 2 vinterpretaci Aavaluaciv. Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 30/ 38
Sémantika predikátové logiky Příklad: Intrepretace A, kde universem je množina přirozených čísel N = {0,1,2,... }. f A jefunkce následník,tj.f A (x) =x +1 g A jefunkce součet,tj.g A (x,y) =x +y P A jemnožinavšechprvočísel Q A jebinárnírelace < tj. (x,y) Q A právětehdy,kdyžx <y Valuacev,kdev(x) =5,v(y) =13,v(z) =2,... A,v =P(x) (5jeprvočíslo) A,v =Q(y,z) (nenípravda,že13 <2) A,v =Q(f(f(z)),g(x,y)) ((2+1)+1 <5+13) A,v =P(f(g(z,x))) ((2+5)+1 =8a8neníprvočíslo) Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 31/ 38
Predikátová logika další poznámky Jedná se o predikátovou logiku 1. řádu kvantifikovat lze pouze přes prvky universa(v predikátové logice 2. řádu je možné kvantifikovat přes relace). Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 32/ 38
Predikátová logika další poznámky V běžné matematické praxi se většinou nepoužívá syntaxe formulí predikátové logiky přesně podle definice, ale při zápisu se používá celá řada konvencí a zkratek. Pro binární funkční a predikátové symboly se často používá infixový způsob zápisu: Napříkladmístof(x,y)aR(x,y)semůžepsát xfy xry Pro označení predikátových, funkčních a konstantních symbolů a proměnných se používají všechny možné druhy symbolů: NapříkladmístoR(f(x,y),g(z))semůžepsáttřeba x +δ ε nebonapříklad x y G(z) Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 33/ 38
Predikátová logika další poznámky Příklady formulí reprezentujících tvrzení z teorie množin: xjeprvkemmnožinya: x A binárnípredikátovýsymbolreprezentujícírelaci náležení x, A proměnné Pokud bychom provedli následující změny: místo symbolu bychom použili binární predikátový symbol E, místo proměnné A bychom použili proměnnou y, tak by formule vypadala následovně: E(x,y) Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 34/ 38
Predikátová logika další poznámky Dvě množiny se rovnají právě tehdy, když obsahují stejné prvky: A =B x(x A x B) Pokudbychommísto použilipredikáte,amístoaab použiliyaz,formulebudevypadattakto: y =z x(e(x,y) E(x,z)) Definicerelace býtpodmnožinou (označenasymbolem ): A B x(x A x B) Pokud místo použijeme binární predikátový symbol S: S(y,z) x(e(x,y) E(x,z)) Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 35/ 38
Predikátová logika další poznámky Definiceoperace sjednocení (označenasymbolem ): x(x A B (x A x B)) Pokud místo použijeme binární funkční symbol f: x(e(x,f(y,z)) (E(x,y) E(x,z))) Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 36/ 38
Predikátová logika další poznámky Místo x(x A... ) se někdy používá zkrácený zápis ( x A)(... ) Tj. místo se řekne existujextakové,žex Aa... existujex Atakové,že... Podobnětřebamísto x(x 1...) seněkdyzkráceněpíše ( x 1)(... ) Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 37/ 38
Predikátová logika další poznámky Místo x(x A... ) se někdy používá zkrácený zápis ( x A)(... ) Tj. místo se řekne prokaždéx,prokteréplatíx A,platí... prokaždéx Aplatí... Podobnětřebamísto x(x 1...) seněkdyzkráceněpíše ( x 1)(... ) Z. Sawa (VŠB-TUO) Úvod do teoretické informatiky 10. března 2018 38/ 38