Klauzulární logika. úvod. Šárka Vavrečková. 20. října Ústav informatiky Filozoficko-Přírodovědecká fakulta Slezské univerzity, Opava

Podobné dokumenty
Logika a logické programování

Klauzulární logika. Znalostní báze. Šárka Vavrečková

Negace bázového atomu Negace atomu s existenčním termem Negace klauzule Negace množiny klauzulí Predikát rovnosti. Klauzulární logika

Každé formuli výrokového počtu přiřadíme hodnotu 0, půjde-li o formuli nepravdivou, a hodnotu 1, půjde-li. α neplatí. β je nutná podmínka pro α

Hilbertovský axiomatický systém

Predikátová logika Individua a termy Predikáty

6. Logika a logické systémy. Základy logiky. Lucie Koloušková, Václav Matoušek / KIV. Umělá inteligence a rozpoznávání, LS

Predikátová logika. prvního řádu

platné nejsou Sokrates je smrtelný. (r) 1/??

7 Jemný úvod do Logiky

4.2 Syntaxe predikátové logiky

Výroková logika. Sémantika výrokové logiky

λογος - LOGOS slovo, smysluplná řeč )

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

Úvod do TI - logika Predikátová logika 1.řádu (4.přednáška) Marie Duží marie.duzi@vsb.cz

Stefan Ratschan. Fakulta informačních technologíı. Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti

Logika. 2. Výroková logika. RNDr. Luděk Cienciala, Ph. D.

Základy logiky Logika a logické systémy. Umělá inteligence a rozpoznávání, LS

Programovací jazyk Prolog

Přednáška 2: Formalizace v jazyce logiky.

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

LOGIKA VÝROKOVÁ LOGIKA

Logika. 5. Rezoluční princip. RNDr. Luděk Cienciala, Ph. D.

Interpretace klauzule Atomy v klauzulích Prázdný antecedent/konsekvent Konjunkce/disjunkce atomů. Klauzulární logika. Interpretace klauzule

Okruh č.3: Sémantický výklad predikátové logiky

Rezoluční kalkulus pro logiku prvního řádu

Skolemizace. x(x + f(x) = 0). Interpretace f unární funkce, která pro daný

M - Výroková logika VARIACE

Predikátová logika. Teoretická informatika Tomáš Foltýnek

Výroková logika - opakování

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

KMA/MDS Matematické důkazy a jejich struktura

2.5 Rezoluční metoda v predikátové logice

Unární je také spojka negace. pro je operace binární - příkladem může být funkce se signaturou. Binární je velká většina logických spojek

teorie logických spojek chápaných jako pravdivostní funkce

SINGULÁRNÍ VÝROKY: Jednoduchý singulární výrok vznikne spojením singulárního termínu s termínem obecným pomocí spony=slova je.

Databázové systémy. * relační kalkuly. Tomáš Skopal. - relační model

1 Výroková logika 1. 2 Predikátová logika 3. 3 Důkazy matematických vět 4. 4 Doporučená literatura 7

Predikátová logika [Predicate logic]

Prolog PROgramming in LOGic část predikátové logiky prvního řádu rozvoj začíná po roce 1970 Robert Kowalski teoretické základy Alain Colmerauer, David

0. ÚVOD - matematické symboly, značení,

Logika. 8. Automatické dokazování v predikátové logice (obecná rezoluční metoda)

VÝROKOVÁ LOGIKA. Výrok srozumitelná oznamovací věta (výraz, sdělení), která může být buď jen pravdivá nebo jen nepravdivá..

výrok-každésdělení,uněhožmásmyslseptát,zdaječinenípravdivé, aproněžprávějednaztěchtodvoumožnostínastává.

Matematická logika. Rostislav Horčík. horcik

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

Sémantika predikátové logiky

Logika. Akademie managementu a komunikace, Praha PhDr. Peter Jan Kosmály, PhD.

Predikátová logika (logika predikátů)

Programovací jazyk Prolog

Převyprávění Gödelova důkazu nutné existence Boha

Predik atov a logika - pˇredn aˇska () Predik atov a logika - pˇredn aˇska / 16

Cvičení 4. negace konjunkce disjunkce implikace ekvivalence. a) Najděte UDNF, UKNF a stanovte log. důsledky. 1) [p (p q)] [( p q) (q p)]

Umělá inteligence I. Roman Barták, KTIML.

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

Matematika pro informatiky KMA/MATA

Logické programování

Úvod do predikátové logiky. (FLÚ AV ČR) Logika: CZ.1.07/2.2.00/ / 1

Základní pojmy matematické logiky

Místo pojmu výroková formule budeme používat zkráceně jen formule. Při jejich zápisu

Systém přirozené dedukce výrokové logiky

Matematická logika. Miroslav Kolařík

1. Matematická logika

Matematická logika. Rostislav Horčík. horcik

přednáška 2 Marie Duží

Klasická predikátová logika

Logické programy Deklarativní interpretace

Logika. 1. Úvod, Výroková logika

Spojování výroků (podmínek) logickými spojkami

Výroková logika. Teoretická informatika Tomáš Foltýnek

Další (neklasické) logiky. Jiří Velebil: AD0B01LGR 2015 Predikátová logika 1/20

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

Částečná korektnost. Petr Štěpánek. S využitím materialu Krysztofa R. Apta

Booleovská algebra. Booleovské binární a unární funkce. Základní zákony.

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

Matematická logika. Miroslav Kolařík

Tableaux metody. Jiří Vyskočil 2011

Rezoluce v predikátové logice

1 REZOLUČNÍ FORMÁLNÍ DŮKAZY

Logika XI. RNDr. Kateřina Trlifajová PhD. Katedra teoretické informatiky Fakulta informačních technologíı BI-MLO, ZS 2011/12

Matematická logika. Miroslav Kolařík

Formální systém výrokové logiky

Matematická indukce, sumy a produkty, matematická logika

Rezoluce v predikátové logice

Seminární práce z Teorie ICT

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

Logika Libor Barto. Výroková logika

Logika. Dana Nejedlová Katedra informatiky Ekonomická fakulta Technická univerzita v Liberci

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

vhodná pro strojové dokazování (Prolog) metoda založená na vyvracení: dokazuje se nesplnitelnost formulí

Úvod do informatiky. Miroslav Kolařík

ZÁKLADY LOGIKY A METODOLOGIE

1. MATEMATICKÁ LOGIKA A MNOŽINY

Rovnost lze vyjádřit jako predikát, např. můžeme zvolit, že P(x, y) reprezentujetvrzení xjerovnoy.

Logické programování I

Rezoluční kalkulus pro výrokovou logiku

Úvod do výrokové a predikátové logiky

Matematická logika. Rostislav Horčík. horcik

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

Úvod do logiky (presentace 2) Naivní teorie množin, relace a funkce

Transkript:

Klauzulární logika úvod Šárka Vavrečková Ústav informatiky Filozoficko-Přírodovědecká fakulta Slezské univerzity, Opava 20. října 2008

Klauzulární logika Hlavní vlastnosti pracujeme s klauzulemi, které získáváme z klauzulí predikátové logiky klauzule klauzulární logiky: 1 ekvivalentními operacemi předsuneme postupně všechny kvantifikátory na začátek klauzule 2 takto vytvořený prefix z kvantifikátorů odstraníme (ale při případných úpravách bereme v úvahu kvantifikaci jednotlivých proměnných a pořadí kvantifikátorů) 3 jádro formule bez kvantifikátorů upravíme do klauzulární formy používáme pouze jedinou logickou spojku implikaci (žádnou jinou, ani negaci!), specifické vlastnosti nevyjádřitelné implikací reprezentujeme jinak

Klauzulární logika Hlavní vlastnosti pracujeme s klauzulemi, které získáváme z klauzulí predikátové logiky klauzule klauzulární logiky: 1 ekvivalentními operacemi předsuneme postupně všechny kvantifikátory na začátek klauzule 2 takto vytvořený prefix z kvantifikátorů odstraníme (ale při případných úpravách bereme v úvahu kvantifikaci jednotlivých proměnných a pořadí kvantifikátorů) 3 jádro formule bez kvantifikátorů upravíme do klauzulární formy používáme pouze jedinou logickou spojku implikaci (žádnou jinou, ani negaci!), specifické vlastnosti nevyjádřitelné implikací reprezentujeme jinak

Klauzulární logika Hlavní vlastnosti pracujeme s klauzulemi, které získáváme z klauzulí predikátové logiky klauzule klauzulární logiky: 1 ekvivalentními operacemi předsuneme postupně všechny kvantifikátory na začátek klauzule 2 takto vytvořený prefix z kvantifikátorů odstraníme (ale při případných úpravách bereme v úvahu kvantifikaci jednotlivých proměnných a pořadí kvantifikátorů) 3 jádro formule bez kvantifikátorů upravíme do klauzulární formy používáme pouze jedinou logickou spojku implikaci (žádnou jinou, ani negaci!), specifické vlastnosti nevyjádřitelné implikací reprezentujeme jinak

Klauzulární logika Hlavní vlastnosti pracujeme s klauzulemi, které získáváme z klauzulí predikátové logiky klauzule klauzulární logiky: 1 ekvivalentními operacemi předsuneme postupně všechny kvantifikátory na začátek klauzule 2 takto vytvořený prefix z kvantifikátorů odstraníme (ale při případných úpravách bereme v úvahu kvantifikaci jednotlivých proměnných a pořadí kvantifikátorů) 3 jádro formule bez kvantifikátorů upravíme do klauzulární formy používáme pouze jedinou logickou spojku implikaci (žádnou jinou, ani negaci!), specifické vlastnosti nevyjádřitelné implikací reprezentujeme jinak

Klauzulární logika Hlavní vlastnosti pracujeme s klauzulemi, které získáváme z klauzulí predikátové logiky klauzule klauzulární logiky: 1 ekvivalentními operacemi předsuneme postupně všechny kvantifikátory na začátek klauzule 2 takto vytvořený prefix z kvantifikátorů odstraníme (ale při případných úpravách bereme v úvahu kvantifikaci jednotlivých proměnných a pořadí kvantifikátorů) 3 jádro formule bez kvantifikátorů upravíme do klauzulární formy používáme pouze jedinou logickou spojku implikaci (žádnou jinou, ani negaci!), specifické vlastnosti nevyjádřitelné implikací reprezentujeme jinak

Klauzulární logika Hlavní vlastnosti pracujeme s klauzulemi, které získáváme z klauzulí predikátové logiky klauzule klauzulární logiky: 1 ekvivalentními operacemi předsuneme postupně všechny kvantifikátory na začátek klauzule 2 takto vytvořený prefix z kvantifikátorů odstraníme (ale při případných úpravách bereme v úvahu kvantifikaci jednotlivých proměnných a pořadí kvantifikátorů) 3 jádro formule bez kvantifikátorů upravíme do klauzulární formy používáme pouze jedinou logickou spojku implikaci (žádnou jinou, ani negaci!), specifické vlastnosti nevyjádřitelné implikací reprezentujeme jinak

Definice (Klauzule) Definice klauzulí Báze: Literály predikátů jsou klauzule. Indukce: Jestliže A a B jsou klauzule, pak A B je také klauzule. Zobecnění: Všechny formule, které jsou utvořeny použitím konečného počtu pravidel v bázi a indukci, jsou klauzule, žádná jiná formule není klauzule.

Definice (Hornovy klauzule) Definice klauzulí jsou klauzule s nejvýše jedním pozitivním literálem (tj. literálem bez negace). Můžeme je psát v následujících tvarech: Definice ((Obecné) klauzule) A 1 A 2... A n B (A 1, A 2,..., A n ) B A 1 A 2... A n B 1 B 2 B m (A 1 &A 2 &... &A n ) (B 1 B 2... B m )

Definice (Hornovy klauzule) Definice klauzulí jsou klauzule s nejvýše jedním pozitivním literálem (tj. literálem bez negace). Můžeme je psát v následujících tvarech: Definice ((Obecné) klauzule) A 1 A 2... A n B (A 1, A 2,..., A n ) B A 1 A 2... A n B 1 B 2 B m (A 1 &A 2 &... &A n ) (B 1 B 2... B m )

1 proměnné (X, Prom,... ) Abeceda 2 individuové konstanty (28, 3.4, jaguár,... ) 3 logické konstanty (true, false T, F) 4 existenční (Skolemovy) konstanty (@a, @něco,... ) 5 funkční symboly (funktory) mají přiřazenu aritu = přirozené číslo (vč. nuly) = počet argumentů 6 existenční (Skolemovy) funktory (@f,... ) mají aritu 7 predikátové symboly začínají písmenem, mají aritu 8 pomocné symboly čárky, závorky 9 logická spojka implikace

Term: proměnná Syntaktické prvky konstanta (individuová, logická) existenční konstanta funktor, jehož argumenty jsou termy existenční funktor, jehož argumenty jsou termy Atom: predikátový symbol, jehož argumenty jsou termy logická konstanta

Term: proměnná Syntaktické prvky konstanta (individuová, logická) existenční konstanta funktor, jehož argumenty jsou termy existenční funktor, jehož argumenty jsou termy Atom: predikátový symbol, jehož argumenty jsou termy logická konstanta

Klauzule: kde p i, q j jsou atomy. Význam: p 1, p 2,..., p n antecedent(a) konjunkce Syntaktické prvky q 1, q 2,..., q m konsekvent(k) disjunkce (p 1 &p 2 &... &p n ) (q 1 q 2... q m ) (p 1 &p 2 &... &p n ) (q 1 q 2... q m ) p 1 p 2... p n q 1 q 2... q m

Klauzule: kde p i, q j jsou atomy. Význam: p 1, p 2,..., p n antecedent(a) konjunkce Syntaktické prvky q 1, q 2,..., q m konsekvent(k) disjunkce (p 1 &p 2 &... &p n ) (q 1 q 2... q m ) (p 1 &p 2 &... &p n ) (q 1 q 2... q m ) p 1 p 2... p n q 1 q 2... q m

Syntaxe Formy klauzulí p 1, p 2,... p n q 1, q 2,... q m (1) q 1, q 2,... q m (2) p 1, p 2,... p n (3) Význam 1 žádná z množin A, K není prázdná (základní forma), 2 A = je FAKT, 3 K = NEPLATNÉ tvrzení.

Odvození vzorce: Rezoluce v klauzulární logice p X, X q p q p X, X q p q substituce [A p], [B q] A X, X B A B

Odvození vzorce: Rezoluce v klauzulární logice p X, X q p q p X, X q p q substituce [A p], [B q] A X, X B A B

Odvození vzorce: Rezoluce v klauzulární logice p X, X q p q p X, X q p q substituce [A p], [B q] A X, X B A B

Tvrzení jsou Typy tvrzení univerzální (tvrzení platí obecně pro vše, co je dosazeno), může obsahovat pouze univerzálně vázané proměnné (X, P rom, N ekdo, apod.), konstanty. existenční (existuje hodnota taková, že po dosazení bude formule splněna), může obsahovat vše z předchozího bodu, existenční konstanty, existenční funktory.

Tvrzení jsou Typy tvrzení univerzální (tvrzení platí obecně pro vše, co je dosazeno), může obsahovat pouze univerzálně vázané proměnné (X, P rom, N ekdo, apod.), konstanty. existenční (existuje hodnota taková, že po dosazení bude formule splněna), může obsahovat vše z předchozího bodu, existenční konstanty, existenční funktory.

Příklad Slovně V létě mají všichni školáci prázdniny. Predikátová logika v klauzulárním tvaru (chceme, aby každá proměnná byla vázaná obecným kvantifikátorem): x rocni obd(leto) skolak(x)) ma(x, prazdniny) Klauzulární logika: rocni obd(leto), skolak(x) ma(x, prazdniny)

Příklad Slovně V létě mají všichni školáci prázdniny. Predikátová logika v klauzulárním tvaru (chceme, aby každá proměnná byla vázaná obecným kvantifikátorem): x rocni obd(leto) skolak(x)) ma(x, prazdniny) Klauzulární logika: rocni obd(leto), skolak(x) ma(x, prazdniny)

Příklad Slovně V létě mají všichni školáci prázdniny. Predikátová logika v klauzulárním tvaru (chceme, aby každá proměnná byla vázaná obecným kvantifikátorem): x rocni obd(leto) skolak(x)) ma(x, prazdniny) Klauzulární logika: rocni obd(leto), skolak(x) ma(x, prazdniny)

Příklad Slovně Psi štěkají (všichni psi štěkají, každý pes štěká). Predikátová logika v klauzulárním tvaru x pes(x) steka(x) Klauzulární logika: pes(x) steka(x)

Příklad Slovně Psi štěkají (všichni psi štěkají, každý pes štěká). Predikátová logika v klauzulárním tvaru x pes(x) steka(x) Klauzulární logika: pes(x) steka(x)

Příklad Slovně Psi štěkají (všichni psi štěkají, každý pes štěká). Predikátová logika v klauzulárním tvaru x pes(x) steka(x) Klauzulární logika: pes(x) steka(x)

Příklad Slovně V létě má listí zelenou barvu, zatímco na podzim má listí žlutou nebo červenou barvu. Predikátová logika v klauzulárním tvaru x rocni obd(leto) & listi(x) barva(x, zelena) & rocni obd(podzim) & listi(x) barva(x, zluta) barva(x, cervena) Klauzulární logika: rocni obd(leto), listi(x) barva(x, zelena) rocni obd(podzim), listi(x) barva(x, zluta), barva(x, cervena)

Příklad Slovně V létě má listí zelenou barvu, zatímco na podzim má listí žlutou nebo červenou barvu. Predikátová logika v klauzulárním tvaru x rocni obd(leto) & listi(x) barva(x, zelena) & rocni obd(podzim) & listi(x) barva(x, zluta) barva(x, cervena) Klauzulární logika: rocni obd(leto), listi(x) barva(x, zelena) rocni obd(podzim), listi(x) barva(x, zluta), barva(x, cervena)

Příklad Slovně V létě má listí zelenou barvu, zatímco na podzim má listí žlutou nebo červenou barvu. Predikátová logika v klauzulárním tvaru x rocni obd(leto) & listi(x) barva(x, zelena) & rocni obd(podzim) & listi(x) barva(x, zluta) barva(x, cervena) Klauzulární logika: rocni obd(leto), listi(x) barva(x, zelena) rocni obd(podzim), listi(x) barva(x, zluta), barva(x, cervena)

Slovně Stůl je tvrdý. Příklad Predikátová logika v klauzulárním tvaru X stul(x) tvrdy(x) Klauzulární logika: nebo stul(x) tvrdy(x) tvrdy(stul)

Slovně Stůl je tvrdý. Příklad Predikátová logika v klauzulárním tvaru X stul(x) tvrdy(x) Klauzulární logika: nebo stul(x) tvrdy(x) tvrdy(stul)

Slovně Stůl je tvrdý. Příklad Predikátová logika v klauzulárním tvaru X stul(x) tvrdy(x) Klauzulární logika: nebo stul(x) tvrdy(x) tvrdy(stul)

Příklad Slovně Když je hezké počasí, děti jdou na procházku. Predikátová logika v klauzulárním tvaru X pocasi(hezke) & dite(x) jde(x, prochazka) Klauzulární logika: pocasi(hezke), dite(x) jde(x, prochazka)

Příklad Slovně Když je hezké počasí, děti jdou na procházku. Predikátová logika v klauzulárním tvaru X pocasi(hezke) & dite(x) jde(x, prochazka) Klauzulární logika: pocasi(hezke), dite(x) jde(x, prochazka)

Příklad Slovně Když je hezké počasí, děti jdou na procházku. Predikátová logika v klauzulárním tvaru X pocasi(hezke) & dite(x) jde(x, prochazka) Klauzulární logika: pocasi(hezke), dite(x) jde(x, prochazka)

Příklad Slovně Musím do školy, protože píšu písemku. Predikátová logika v klauzulárním tvaru Klauzulární logika: pise(ja, pisemka) musi do(ja, skola) pise(ja, pisemka) musi do(ja, skola) nebo ja(x), pise(x, pisemka) musi do(x, skola)

Příklad Slovně Musím do školy, protože píšu písemku. Predikátová logika v klauzulárním tvaru Klauzulární logika: pise(ja, pisemka) musi do(ja, skola) pise(ja, pisemka) musi do(ja, skola) nebo ja(x), pise(x, pisemka) musi do(x, skola)

Příklad Slovně Musím do školy, protože píšu písemku. Predikátová logika v klauzulárním tvaru Klauzulární logika: pise(ja, pisemka) musi do(ja, skola) pise(ja, pisemka) musi do(ja, skola) nebo ja(x), pise(x, pisemka) musi do(x, skola)

Příklad Slovně Děti mladší 10 let půjdou po zelené značce, děti starší půjdou po stejné značce jako dospělí. Predikátová logika v klauzulárním tvaru X X Y Z dite(x) & vek(x) < 10 jde po(x, zelena) dite(x) & vek(x) = 10 & & dospely(y ), jde po(y, Z) jde po(x, Z) Klauzulární logika: dite(x), vek(x) < 10 jde po(x, zelena) dite(x), vek(x) = 10, dospely(y ), jde po(y, Z) jde po(x, Z)

Příklad Slovně Děti mladší 10 let půjdou po zelené značce, děti starší půjdou po stejné značce jako dospělí. Predikátová logika v klauzulárním tvaru X X Y Z dite(x) & vek(x) < 10 jde po(x, zelena) dite(x) & vek(x) = 10 & & dospely(y ), jde po(y, Z) jde po(x, Z) Klauzulární logika: dite(x), vek(x) < 10 jde po(x, zelena) dite(x), vek(x) = 10, dospely(y ), jde po(y, Z) jde po(x, Z)

Příklad Slovně Děti mladší 10 let půjdou po zelené značce, děti starší půjdou po stejné značce jako dospělí. Predikátová logika v klauzulárním tvaru X X Y Z dite(x) & vek(x) < 10 jde po(x, zelena) dite(x) & vek(x) = 10 & & dospely(y ), jde po(y, Z) jde po(x, Z) Klauzulární logika: dite(x), vek(x) < 10 jde po(x, zelena) dite(x), vek(x) = 10, dospely(y ), jde po(y, Z) jde po(x, Z)

Převod z predikátové logiky x y z A(x,y,z) x y z A(x,y,z) A(@X, Y, Z) A(X, @Y (X), Z) x y z A(x,y,z) A(X, Y, @Z(X, Y ))

Převod z predikátové logiky Existenční vazba Existenční vazba x y z A(x,y,z) x y z A(x,y,z) Univerzální vazby A(@X, Y, Z) Univerzální vazby A(X, @Y (X), Z) Existenční vazba x y z A(x,y,z) Univerzální vazby A(X, Y, @Z(X, Y ))

Převod z predikátové logiky Existenční vazba Existenční vazba x y z A(x,y,z) x y z A(x,y,z) Univerzální vazby A(@X, Y, Z) Univerzální vazby A(X, @Y (X), Z) Existenční vazba x y z A(x,y,z) Univerzální vazby A(X, Y, @Z(X, Y ))

Existenční konstanty Příklady 1 Jana něco vlastní (existuje něco, co vlastní Jana). vlastni(jana, @neco) 2 Někdo jde lesem. jde kudy(@nekdo, les) 3 Existuje někdo, koho baví logika (někoho baví logika). bavi(@nekdo, logika) 4 Vidím něco modrého. modre(@c) vidi(ja, @c)

Existenční konstanty Příklady 1 Jana něco vlastní (existuje něco, co vlastní Jana). vlastni(jana, @neco) 2 Někdo jde lesem. jde kudy(@nekdo, les) 3 Existuje někdo, koho baví logika (někoho baví logika). bavi(@nekdo, logika) 4 Vidím něco modrého. modre(@c) vidi(ja, @c)

Existenční konstanty Příklady 1 Jana něco vlastní (existuje něco, co vlastní Jana). vlastni(jana, @neco) 2 Někdo jde lesem. jde kudy(@nekdo, les) 3 Existuje někdo, koho baví logika (někoho baví logika). bavi(@nekdo, logika) 4 Vidím něco modrého. modre(@c) vidi(ja, @c)

Existenční konstanty Příklady 1 Jana něco vlastní (existuje něco, co vlastní Jana). vlastni(jana, @neco) 2 Někdo jde lesem. jde kudy(@nekdo, les) 3 Existuje někdo, koho baví logika (někoho baví logika). bavi(@nekdo, logika) 4 Vidím něco modrého. modre(@c) vidi(ja, @c)

Existenční konstanty Příklady 1 Jana něco vlastní (existuje něco, co vlastní Jana). vlastni(jana, @neco) 2 Někdo jde lesem. jde kudy(@nekdo, les) 3 Existuje někdo, koho baví logika (někoho baví logika). bavi(@nekdo, logika) 4 Vidím něco modrého. modre(@c) vidi(ja, @c)

Kdy použít existenční funktor Existenční funktory Každý zaměstnanec má svého nadřízeného.

Existenční funktory Kdy použít existenční funktor Každý zaměstnanec má svého nadřízeného. Špatně: zamestnanec(x) nadrizeny(y, X) (1) zamestnanec(x) nadrizeny(@c, X) (2)

Kdy použít existenční funktor Existenční funktory Každý zaměstnanec má svého nadřízeného. Špatně: zamestnanec(x) nadrizeny(y, X) (1) zamestnanec(x) nadrizeny(@c, X) (2) Ve skutečnosti znamená: 1 Každý zaměstnanec má nadřízeného, který je v proměnné Y (tj. všichni jsou nadřízenými všech zaměstnanců). 2 Existuje nadřízený společný všem zaměstnancům.

Kdy použít existenční funktor Existenční funktory Každý zaměstnanec má svého nadřízeného. Dobře: zamestnanec(x) nadrizeny(@zam(x), X) Každého nadřízeného vážeme vždy na konkrétního zaměstnance, existenční funktor @zam(x) je interpretován tabulkou.