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



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

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

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

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

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

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

Hilbertovský axiomatický systém

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

Logika a logické programování

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

Základy informatiky. Výroková logika

Matematická logika. Rostislav Horčík. horcik

Úvod do logiky (PL): negace a ekvivalence vět mimo logický

IA008 Computational logic Version: 6. května Formule je v konjunktivní normální formě (CNF), pokud má tvar α 1... α n,

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

1 Pravdivost formulí v interpretaci a daném ohodnocení

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

09. seminář logika (úvod, výroková).notebook. November 30, Logika

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

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

Predikátová logika [Predicate logic]

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

Česká republika - ŽENY

2016 Česká republika ŽENY (aktuální k )

Programovací jazyk Prolog

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

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

Matematická logika. Rostislav Horčík. horcik

Klasická výroková logika - tabulková metoda

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

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

1 Predikátová logika. 1.1 Syntax. jaký mohou mít formule význam (sémantiku). 1. Logických symbolů: 2. Speciálních (mimologických) symbolů:

Sémantika predikátové logiky

Klasická predikátová logika

Matematická logika. Miroslav Kolařík

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

Která tvrzení jsou pravdivá nezávisle na tom, který den v týdnu byla vyslovena? Tvrzení trosečníka Dana.

Vysoké učení technické v Brně Fakulta elektrotechniky a informatiky Ústav biomedicínského inženýrství EXPERTNÍ SYSTÉMY.

LOGIKA VÝROKOVÁ LOGIKA

Jazyk matematiky Matematická logika Množinové operace Zobrazení Rozšířená číslená osa

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

Cvičení Aktivita 1. část 2. část 3. část Ústní Celkem Známka

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

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

2.2 Sémantika predikátové logiky

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

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

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

Predikátová logika. 3.1 Formule predikátové logiky

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.

Složené výroky Jsou tvořeny dvěma nebo více výroky jednoduššími. V : Číslo 8 je liché. V : 0,1 N. V : Paříž je hl. město Španělska.

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

Logické programy Deklarativní interpretace

Výroková logika - opakování

Matematická logika. Rostislav Horčík. horcik

Řešení: Ano. Řešení: Ne.

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

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

Rezoluce v predikátové logice

7 Jemný úvod do Logiky

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

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

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

Matematická indukce, sumy a produkty, matematická logika

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

Kapitola Výroky

Rezoluce v predikátové logice

VY_42_Inovace_12_MA_2.01_ Výroky. Prezentace určena pro první ročník maturitních oborů, ve které je vysvětlení učiva výroky.

1. MATEMATICKÁ LOGIKA A MNOŽINY

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

Úvod do teoretické informatiky(2017/2018) cvičení 6 1

M - Výroková logika VARIACE

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

- existuje..., negace: pro všechny neplatí,... - pro všechna..., negace: existuje, že neplatí,...

Matematická logika. Lekce 1: Motivace a seznámení s klasickou výrokovou logikou. Petr Cintula. Ústav informatiky Akademie věd České republiky

Predikátová logika Individua a termy Predikáty

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

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

Úvod do logiky (VL): 2. Uvedení do výrokové logiky

Jak jsem potkal logiku. Převod formule do (úplného) disjunktivního tvaru. Jan Hora

Predikátová logika. Kapitola Formule predikátové logiky

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

Matematická logika. Rostislav Horčík. horcik

Večerní kurzy matematiky Letní studentská konference Tudy Cesta Nevede

MQL4 COURSE. By Coders guru -5 Smyčky & Rozhodnutí Část 2

Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0).

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

4.2 Syntaxe predikátové logiky

KMA/MDS Matematické důkazy a jejich struktura

2.1 Formule predikátové logiky. větám. Použijte k tomu predikátových symbolu uvedených v textu.

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

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

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 α

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

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

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

Základní pojmy matematické logiky

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

Modely Herbrandovské interpretace

V této výukové jednotce se student seznámí se základními pojmy z teorie predikátového počtu.

Transkript:

Vlastnosti klauzulí, negace Šárka Vavrečková Ústav informatiky, Filozoficko-přírodovědecká fakulta Slezské univerzity v Opavě sarka.vavreckova@fpf.slu.cz 27. října 2008

Věta o transferu bázového atomu p & q r p q r p q r p & q r Postup: přesuneme tento atom na druhou stranu implikace, odstraníme negaci.

Věta o transferu bázového atomu p & q r p q r p q r p & q r Postup: přesuneme tento atom na druhou stranu implikace, odstraníme negaci.

Věta o transferu bázového atomu p & q r p q r p q r p & q r Postup: přesuneme tento atom na druhou stranu implikace, odstraníme negaci.

Příklady 1 Tráva není fialová. barva(trava, f ialova) barva(trava, f ialova) 2 Když nefouká vítr, drak spadne. pocasi(vitr) pozice(drak, pada) pocasi(vitr), pozice(drak, pada) 3 V neděli bratr nejde do školy. den v tydnu(nedele) jde(bratr, skola) den v tydnu(nedele), jde(bratr, skola) 4 Když na mě zaútočí medvěd a nemám zbraň, neutíkám. utok(medved, ja), ma(ja, zbran) utika(ja) utok(medved, ja), utika(ja) ma(ja, zbran)

Příklady 1 Tráva není fialová. barva(trava, f ialova) barva(trava, f ialova) 2 Když nefouká vítr, drak spadne. pocasi(vitr) pozice(drak, pada) pocasi(vitr), pozice(drak, pada) 3 V neděli bratr nejde do školy. den v tydnu(nedele) jde(bratr, skola) den v tydnu(nedele), jde(bratr, skola) 4 Když na mě zaútočí medvěd a nemám zbraň, neutíkám. utok(medved, ja), ma(ja, zbran) utika(ja) utok(medved, ja), utika(ja) ma(ja, zbran)

Příklady 1 Tráva není fialová. barva(trava, f ialova) barva(trava, f ialova) 2 Když nefouká vítr, drak spadne. pocasi(vitr) pozice(drak, pada) pocasi(vitr), pozice(drak, pada) 3 V neděli bratr nejde do školy. den v tydnu(nedele) jde(bratr, skola) den v tydnu(nedele), jde(bratr, skola) 4 Když na mě zaútočí medvěd a nemám zbraň, neutíkám. utok(medved, ja), ma(ja, zbran) utika(ja) utok(medved, ja), utika(ja) ma(ja, zbran)

Příklady 1 Tráva není fialová. barva(trava, f ialova) barva(trava, f ialova) 2 Když nefouká vítr, drak spadne. pocasi(vitr) pozice(drak, pada) pocasi(vitr), pozice(drak, pada) 3 V neděli bratr nejde do školy. den v tydnu(nedele) jde(bratr, skola) den v tydnu(nedele), jde(bratr, skola) 4 Když na mě zaútočí medvěd a nemám zbraň, neutíkám. utok(medved, ja), ma(ja, zbran) utika(ja) utok(medved, ja), utika(ja) ma(ja, zbran)

Postup c( A) ( ca) x( A) ( xa) x(p(x) r(x) ( u q(x, u))) x u(p(x) r(x) q(x, u)) x(p(x) r(x) ( u q(x, u))) x u(p(x) r(x) q(x, u)) p(x) r(x), q(x, U) p(x), q(x, U) r(x) p(x) r(x), q(x, @U(X)) p(x), q(x, @U(X)) r(x) existenční term nahradíme novou proměnnou, proměnnou nahradíme novou existenční konstantou nebo existenčním funktorem podle výsledku skolemizace, negaci (teď už přímo u predikátu) řešíme postupem stejným jako u bázových atomů.

Postup c( A) ( ca) x( A) ( xa) x(p(x) r(x) ( u q(x, u))) x u(p(x) r(x) q(x, u)) x(p(x) r(x) ( u q(x, u))) x u(p(x) r(x) q(x, u)) p(x) r(x), q(x, U) p(x), q(x, U) r(x) p(x) r(x), q(x, @U(X)) p(x), q(x, @U(X)) r(x) existenční term nahradíme novou proměnnou, proměnnou nahradíme novou existenční konstantou nebo existenčním funktorem podle výsledku skolemizace, negaci (teď už přímo u predikátu) řešíme postupem stejným jako u bázových atomů.

Postup c( A) ( ca) x( A) ( xa) x(p(x) r(x) ( u q(x, u))) x u(p(x) r(x) q(x, u)) x(p(x) r(x) ( u q(x, u))) x u(p(x) r(x) q(x, u)) p(x) r(x), q(x, U) p(x), q(x, U) r(x) p(x) r(x), q(x, @U(X)) p(x), q(x, @U(X)) r(x) existenční term nahradíme novou proměnnou, proměnnou nahradíme novou existenční konstantou nebo existenčním funktorem podle výsledku skolemizace, negaci (teď už přímo u predikátu) řešíme postupem stejným jako u bázových atomů.

Postup c( A) ( ca) x( A) ( xa) x(p(x) r(x) ( u q(x, u))) x u(p(x) r(x) q(x, u)) x(p(x) r(x) ( u q(x, u))) x u(p(x) r(x) q(x, u)) p(x) r(x), q(x, U) p(x), q(x, U) r(x) p(x) r(x), q(x, @U(X)) p(x), q(x, @U(X)) r(x) existenční term nahradíme novou proměnnou, proměnnou nahradíme novou existenční konstantou nebo existenčním funktorem podle výsledku skolemizace, negaci (teď už přímo u predikátu) řešíme postupem stejným jako u bázových atomů.

Postup c( A) ( ca) x( A) ( xa) x(p(x) r(x) ( u q(x, u))) x u(p(x) r(x) q(x, u)) x(p(x) r(x) ( u q(x, u))) x u(p(x) r(x) q(x, u)) p(x) r(x), q(x, U) p(x), q(x, U) r(x) p(x) r(x), q(x, @U(X)) p(x), q(x, @U(X)) r(x) existenční term nahradíme novou proměnnou, proměnnou nahradíme novou existenční konstantou nebo existenčním funktorem podle výsledku skolemizace, negaci (teď už přímo u predikátu) řešíme postupem stejným jako u bázových atomů.

Postup c( A) ( ca) x( A) ( xa) x(p(x) r(x) ( u q(x, u))) x u(p(x) r(x) q(x, u)) x(p(x) r(x) ( u q(x, u))) x u(p(x) r(x) q(x, u)) p(x) r(x), q(x, U) p(x), q(x, U) r(x) p(x) r(x), q(x, @U(X)) p(x), q(x, @U(X)) r(x) existenční term nahradíme novou proměnnou, proměnnou nahradíme novou existenční konstantou nebo existenčním funktorem podle výsledku skolemizace, negaci (teď už přímo u predikátu) řešíme postupem stejným jako u bázových atomů.

Příklady 1 Někdo nemá jedničku z logiky. ( c znamka(c, logika, 1)) c znamka(c, logika, 1) znamka(@c, logika, 1) 2 Nikdo nemá jedničku z logiky. ( x znamka(x, logika, 1)) x znamka(x, logika, 1) znamka(x, logika, 1) 3 Nikdo v neděli nechodí do školy. den v tydnu(nedele), jde(x, skola) 4 Rostliny, které nejsou byliny ani keře, jsou stromy. X(rostlina(X) & bylina(x) & ker(x) strom(x)) rostlina(x) bylina(x), ker(x), strom(x)

Příklady 1 Někdo nemá jedničku z logiky. ( c znamka(c, logika, 1)) c znamka(c, logika, 1) znamka(@c, logika, 1) 2 Nikdo nemá jedničku z logiky. ( x znamka(x, logika, 1)) x znamka(x, logika, 1) znamka(x, logika, 1) 3 Nikdo v neděli nechodí do školy. den v tydnu(nedele), jde(x, skola) 4 Rostliny, které nejsou byliny ani keře, jsou stromy. X(rostlina(X) & bylina(x) & ker(x) strom(x)) rostlina(x) bylina(x), ker(x), strom(x)

Příklady 1 Někdo nemá jedničku z logiky. ( c znamka(c, logika, 1)) c znamka(c, logika, 1) znamka(@c, logika, 1) 2 Nikdo nemá jedničku z logiky. ( x znamka(x, logika, 1)) x znamka(x, logika, 1) znamka(x, logika, 1) 3 Nikdo v neděli nechodí do školy. den v tydnu(nedele), jde(x, skola) 4 Rostliny, které nejsou byliny ani keře, jsou stromy. X(rostlina(X) & bylina(x) & ker(x) strom(x)) rostlina(x) bylina(x), ker(x), strom(x)

Příklady 1 Někdo nemá jedničku z logiky. ( c znamka(c, logika, 1)) c znamka(c, logika, 1) znamka(@c, logika, 1) 2 Nikdo nemá jedničku z logiky. ( x znamka(x, logika, 1)) x znamka(x, logika, 1) znamka(x, logika, 1) 3 Nikdo v neděli nechodí do školy. den v tydnu(nedele), jde(x, skola) 4 Rostliny, které nejsou byliny ani keře, jsou stromy. X(rostlina(X) & bylina(x) & ker(x) strom(x)) rostlina(x) bylina(x), ker(x), strom(x)

Vytvoření popírající množiny klauzule A = p 1 & p 2 &... & p n, K = q 1 q 2... q m. (A K) (A & K) A K q 1 q 2 q m p 1 p 2... p n...

Vytvoření popírající množiny klauzule A = p 1 & p 2 &... & p n, K = q 1 q 2... q m. (A K) (A & K) A K q 1 q 2 q m p 1 p 2... p n...

Vytvoření popírající množiny klauzule A = p 1 & p 2 &... & p n, K = q 1 q 2... q m. (A K) (A & K) A K q 1 q 2 q m p 1 p 2... p n...

Příklad 1 1 Každé vadné zboží je reklamováno. Klauzule: zbozi(x), vadny(x) reklamace(x)

Příklad 1 1 Každé vadné zboží je reklamováno. Klauzule: zbozi(x), vadny(x) reklamace(x) Predikátová logika: v((zbozi(v) & vadny(v)) reklamace(v)) v((zbozi(v) & vadny(v)) & reklamace(v)) v(zbozi(v) & vadny(v) & reklamace(v))

Příklad 1 1 Každé vadné zboží je reklamováno. Klauzule: zbozi(x), vadny(x) reklamace(x) Predikátová logika: v((zbozi(v) & vadny(v)) reklamace(v)) v((zbozi(v) & vadny(v)) & reklamace(v)) v(zbozi(v) & vadny(v) & reklamace(v)) Negovaná klauzule: zbozi(@c) vadny(@c) reklamace(@c) Negovaná věta: Některé vadné zboží není reklamováno.

Příklad 1 2 Některé hračky mají rády všechny děti. Klauzule: dite(x), hracka(@h) rad(x, @h)

Příklad 1 2 Některé hračky mají rády všechny děti. Klauzule: dite(x), hracka(@h) rad(x, @h) Predikátová logika: ( h d(dite(d) & hracka(h) rad(d, h)) h d(dite(d) & hracka(h) & rad(d, h))

Příklad 1 2 Některé hračky mají rády všechny děti. Klauzule: dite(x), hracka(@h) rad(x, @h) Predikátová logika: ( h d(dite(d) & hracka(h) rad(d, h)) h d(dite(d) & hracka(h) & rad(d, h)) Negovaná klauzule: dite(@f(y )) hracka(y ) rad(@f(y ), Y ) Negovaná věta: Pro každou hračku existuje dítě, které ji nemá rádo.

Příklad 2 Pokud je někdo uvnitř, pak dům není prázdný. Predikátová logika: ( N uvnitr(n, dum)) prazdny(dum) ( N uvnitr(n, dum)) prazdny(dum) ( N uvnitr(n, dum)) prazdny(dum) N( uvnitr(n, dum) prazdny(dum)) N (f alse ( uvnitr(n, dum) prazdny(dum))) : uvnitr(n, dum), prazdny(dum)

Příklad 2 Pokud je někdo uvnitř, pak dům není prázdný. Predikátová logika: ( N uvnitr(n, dum)) prazdny(dum) ( N uvnitr(n, dum)) prazdny(dum) ( N uvnitr(n, dum)) prazdny(dum) N( uvnitr(n, dum) prazdny(dum)) N (f alse ( uvnitr(n, dum) prazdny(dum))) : uvnitr(n, dum), prazdny(dum)

Příklad 2 Pokud je někdo uvnitř, pak dům není prázdný. Predikátová logika: ( N uvnitr(n, dum)) prazdny(dum) ( N uvnitr(n, dum)) prazdny(dum) ( N uvnitr(n, dum)) prazdny(dum) N( uvnitr(n, dum) prazdny(dum)) N (f alse ( uvnitr(n, dum) prazdny(dum))) : uvnitr(n, dum), prazdny(dum)

Příklad 2 Pokud je někdo uvnitř, pak dům není prázdný. Predikátová logika: ( N uvnitr(n, dum)) prazdny(dum) ( N uvnitr(n, dum)) prazdny(dum) ( N uvnitr(n, dum)) prazdny(dum) N( uvnitr(n, dum) prazdny(dum)) N (f alse ( uvnitr(n, dum) prazdny(dum))) : uvnitr(n, dum), prazdny(dum)

Příklad 2 Pokud je někdo uvnitř, pak dům není prázdný. Predikátová logika: ( N uvnitr(n, dum)) prazdny(dum) ( N uvnitr(n, dum)) prazdny(dum) ( N uvnitr(n, dum)) prazdny(dum) N( uvnitr(n, dum) prazdny(dum)) N (f alse ( uvnitr(n, dum) prazdny(dum))) : uvnitr(n, dum), prazdny(dum)

Příklad 2 Pokud je někdo uvnitř, pak dům není prázdný. Predikátová logika: ( N uvnitr(n, dum)) prazdny(dum) ( N uvnitr(n, dum)) prazdny(dum) ( N uvnitr(n, dum)) prazdny(dum) N( uvnitr(n, dum) prazdny(dum)) N (f alse ( uvnitr(n, dum) prazdny(dum))) : uvnitr(n, dum), prazdny(dum)

Příklad 2 Pokud je někdo uvnitř, pak dům není prázdný. Predikátová logika: ( N uvnitr(n, dum)) prazdny(dum) ( N uvnitr(n, dum)) prazdny(dum) ( N uvnitr(n, dum)) prazdny(dum) N( uvnitr(n, dum) prazdny(dum)) N (f alse ( uvnitr(n, dum) prazdny(dum))) : uvnitr(n, dum), prazdny(dum)

Příklad 2 Není pravda, že pokud je někdo uvnitř, pak dům není prázdný. Negace v predikátové logice: ( N( uvnitr(n, dum) prazdny(dum))) N ( uvnitr(n, dum) prazdny(dum)) N(uvnitr(N, dum) & prazdny(dum)) N(f alse (uvnitr(n, dum) & prazdny(dum)))

Příklad 2 Není pravda, že pokud je někdo uvnitř, pak dům není prázdný. Negace v predikátové logice: ( N( uvnitr(n, dum) prazdny(dum))) N ( uvnitr(n, dum) prazdny(dum)) N(uvnitr(N, dum) & prazdny(dum)) N(f alse (uvnitr(n, dum) & prazdny(dum)))

Příklad 2 Není pravda, že pokud je někdo uvnitř, pak dům není prázdný. Negace v predikátové logice: ( N( uvnitr(n, dum) prazdny(dum))) N ( uvnitr(n, dum) prazdny(dum)) N(uvnitr(N, dum) & prazdny(dum)) N(f alse (uvnitr(n, dum) & prazdny(dum)))

Příklad 2 Není pravda, že pokud je někdo uvnitř, pak dům není prázdný. Negace v predikátové logice: ( N( uvnitr(n, dum) prazdny(dum))) N ( uvnitr(n, dum) prazdny(dum)) N(uvnitr(N, dum) & prazdny(dum)) N(f alse (uvnitr(n, dum) & prazdny(dum)))

Příklad 2 Není pravda, že pokud je někdo uvnitř, pak dům není prázdný. Negace v predikátové logice: ( N( uvnitr(n, dum) prazdny(dum))) N ( uvnitr(n, dum) prazdny(dum)) N(uvnitr(N, dum) & prazdny(dum)) N(f alse (uvnitr(n, dum) & prazdny(dum))) Negace v klauzulární logice: uvnitr(@n, dum) prazdny(dum) (Někdo je uvnitř a zároveň je dům prázdný.) Původní klauzule: uvnitr(n, dum), prazdny(dum)

Postup pro bázovou klauzuli: Mezi klauzulemi v množině je vztah konjunkce, podle toho postupujeme při ekvivalentních úpravách. Cíl: konjunkce jako hlavní spojka ve formuli, v podformulích jsou hlavními spojkami implikace, atd. Pro množinu dvou klauzulí: ((A 1 K 1 ) & (A 2 K 2 )) (A 1 K 1 ) (A 2 K 2 ) (A 1 & K 1 ) (A 2 & K 2 ) (A 1 (A 2 & K 2 )) & ( K 1 (A 2 & K 2 )) (A 1 A 2 ) & (A 1 K 2 ) & ( K 1 A 2 ) & ( K 1 K 2 ) ( A 1 A 2 ) & (K 2 A 1 ) & (K 1 A 2 ) & (K 1 K 2 )

Postup pro bázovou klauzuli: Mezi klauzulemi v množině je vztah konjunkce, podle toho postupujeme při ekvivalentních úpravách. Cíl: konjunkce jako hlavní spojka ve formuli, v podformulích jsou hlavními spojkami implikace, atd. Pro množinu dvou klauzulí: ((A 1 K 1 ) & (A 2 K 2 )) (A 1 K 1 ) (A 2 K 2 ) (A 1 & K 1 ) (A 2 & K 2 ) (A 1 (A 2 & K 2 )) & ( K 1 (A 2 & K 2 )) (A 1 A 2 ) & (A 1 K 2 ) & ( K 1 A 2 ) & ( K 1 K 2 ) ( A 1 A 2 ) & (K 2 A 1 ) & (K 1 A 2 ) & (K 1 K 2 )

Postup pro bázovou klauzuli: Mezi klauzulemi v množině je vztah konjunkce, podle toho postupujeme při ekvivalentních úpravách. Cíl: konjunkce jako hlavní spojka ve formuli, v podformulích jsou hlavními spojkami implikace, atd. Pro množinu dvou klauzulí: ((A 1 K 1 ) & (A 2 K 2 )) (A 1 K 1 ) (A 2 K 2 ) (A 1 & K 1 ) (A 2 & K 2 ) (A 1 (A 2 & K 2 )) & ( K 1 (A 2 & K 2 )) (A 1 A 2 ) & (A 1 K 2 ) & ( K 1 A 2 ) & ( K 1 K 2 ) ( A 1 A 2 ) & (K 2 A 1 ) & (K 1 A 2 ) & (K 1 K 2 )

Postup pro bázovou klauzuli: Mezi klauzulemi v množině je vztah konjunkce, podle toho postupujeme při ekvivalentních úpravách. Cíl: konjunkce jako hlavní spojka ve formuli, v podformulích jsou hlavními spojkami implikace, atd. Pro množinu dvou klauzulí: ((A 1 K 1 ) & (A 2 K 2 )) (A 1 K 1 ) (A 2 K 2 ) (A 1 & K 1 ) (A 2 & K 2 ) (A 1 (A 2 & K 2 )) & ( K 1 (A 2 & K 2 )) (A 1 A 2 ) & (A 1 K 2 ) & ( K 1 A 2 ) & ( K 1 K 2 ) ( A 1 A 2 ) & (K 2 A 1 ) & (K 1 A 2 ) & (K 1 K 2 )

Postup pro bázovou klauzuli: Mezi klauzulemi v množině je vztah konjunkce, podle toho postupujeme při ekvivalentních úpravách. Cíl: konjunkce jako hlavní spojka ve formuli, v podformulích jsou hlavními spojkami implikace, atd. Pro množinu dvou klauzulí: ((A 1 K 1 ) & (A 2 K 2 )) (A 1 K 1 ) (A 2 K 2 ) (A 1 & K 1 ) (A 2 & K 2 ) (A 1 (A 2 & K 2 )) & ( K 1 (A 2 & K 2 )) (A 1 A 2 ) & (A 1 K 2 ) & ( K 1 A 2 ) & ( K 1 K 2 ) ( A 1 A 2 ) & (K 2 A 1 ) & (K 1 A 2 ) & (K 1 K 2 )

Postup pro bázovou klauzuli: Mezi klauzulemi v množině je vztah konjunkce, podle toho postupujeme při ekvivalentních úpravách. Cíl: konjunkce jako hlavní spojka ve formuli, v podformulích jsou hlavními spojkami implikace, atd. Pro množinu dvou klauzulí: ((A 1 K 1 ) & (A 2 K 2 )) (A 1 K 1 ) (A 2 K 2 ) (A 1 & K 1 ) (A 2 & K 2 ) (A 1 (A 2 & K 2 )) & ( K 1 (A 2 & K 2 )) (A 1 A 2 ) & (A 1 K 2 ) & ( K 1 A 2 ) & ( K 1 K 2 ) ( A 1 A 2 ) & (K 2 A 1 ) & (K 1 A 2 ) & (K 1 K 2 )

Postup pro bázovou klauzuli: Mezi klauzulemi v množině je vztah konjunkce, podle toho postupujeme při ekvivalentních úpravách. Cíl: konjunkce jako hlavní spojka ve formuli, v podformulích jsou hlavními spojkami implikace, atd. Pro množinu dvou klauzulí: ((A 1 K 1 ) & (A 2 K 2 )) (A 1 K 1 ) (A 2 K 2 ) (A 1 & K 1 ) (A 2 & K 2 ) (A 1 (A 2 & K 2 )) & ( K 1 (A 2 & K 2 )) (A 1 A 2 ) & (A 1 K 2 ) & ( K 1 A 2 ) & ( K 1 K 2 ) ( A 1 A 2 ) & (K 2 A 1 ) & (K 1 A 2 ) & (K 1 K 2 )

Příklad včetně proměnných Pokud je někdo uvnitř, pak dům není prázdný. Někdo není uvnitř. Bez negace Predikátová logika: ( N uvnitr(n, dum)) prazdny(dum)) & X uvnitr(x, dum) : uvnitr(n, dum), prazdny(dum) uvnitr(@x, dum)

Příklad včetně proměnných Pokud je někdo uvnitř, pak dům není prázdný. Někdo není uvnitř. Bez negace Predikátová logika: ( N uvnitr(n, dum)) prazdny(dum)) & X uvnitr(x, dum) : uvnitr(n, dum), prazdny(dum) uvnitr(@x, dum)

Příklad včetně proměnných Pokud je někdo uvnitř, pak dům není prázdný. Někdo není uvnitř. Bez negace Predikátová logika: ( N uvnitr(n, dum)) prazdny(dum)) & X uvnitr(x, dum) : uvnitr(n, dum), prazdny(dum) uvnitr(@x, dum)

Příklad včetně proměnných Pokud je někdo uvnitř, pak dům není prázdný. Někdo není uvnitř. Negace: ( N uvnitr(n, dum) & prazdny(dum)) ( X uvnitr(x, dum)) N X((uvnitr(N, dum) uvnitr(x, dum)) & & X(prazdny(dum) uvnitr(x, dum))) Do klauzulární logiky: uvnitr(@n, dum), uvnitr(x, dum) prazdny(dum), uvnitr(x, dum) Původní klauzule: uvnitr(n, dum), prazdny(dum) uvnitr(@x, dum)

Příklad včetně proměnných Pokud je někdo uvnitř, pak dům není prázdný. Někdo není uvnitř. Negace: ( N uvnitr(n, dum) & prazdny(dum)) ( X uvnitr(x, dum)) N X((uvnitr(N, dum) uvnitr(x, dum)) & & X(prazdny(dum) uvnitr(x, dum))) Do klauzulární logiky: uvnitr(@n, dum), uvnitr(x, dum) prazdny(dum), uvnitr(x, dum) Původní klauzule: uvnitr(n, dum), prazdny(dum) uvnitr(@x, dum)

Příklad včetně proměnných Pokud je někdo uvnitř, pak dům není prázdný. Někdo není uvnitř. Negace: ( N uvnitr(n, dum) & prazdny(dum)) ( X uvnitr(x, dum)) N X((uvnitr(N, dum) uvnitr(x, dum)) & & X(prazdny(dum) uvnitr(x, dum))) Do klauzulární logiky: uvnitr(@n, dum), uvnitr(x, dum) prazdny(dum), uvnitr(x, dum) Původní klauzule: uvnitr(n, dum), prazdny(dum) uvnitr(@x, dum)

Příklad včetně proměnných Pokud je někdo uvnitř, pak dům není prázdný. Někdo není uvnitř. Negace: ( N uvnitr(n, dum) & prazdny(dum)) ( X uvnitr(x, dum)) N X((uvnitr(N, dum) uvnitr(x, dum)) & & X(prazdny(dum) uvnitr(x, dum))) Do klauzulární logiky: uvnitr(@n, dum), uvnitr(x, dum) prazdny(dum), uvnitr(x, dum) Původní klauzule: uvnitr(n, dum), prazdny(dum) uvnitr(@x, dum)

Predikát rovnosti vrací true, jestliže jsou oba argumenty (po interpretaci) shodné, tvar 1 postfixový: = (argument1, argument2) 2 infixový: argument1 = argument2 další podobné relační operátory: <,, atd.

Predikát rovnosti vrací true, jestliže jsou oba argumenty (po interpretaci) shodné, tvar 1 postfixový: = (argument1, argument2) 2 infixový: argument1 = argument2 další podobné relační operátory: <,, atd.

Predikát rovnosti vrací true, jestliže jsou oba argumenty (po interpretaci) shodné, tvar 1 postfixový: = (argument1, argument2) 2 infixový: argument1 = argument2 další podobné relační operátory: <,, atd.

Příklady 1 Slepic je 25. pocet(slepice, 25) nebo pocet(slepice) = 25 2 Barva zralých jahod je červená. jahoda(x), zraly(x) barva(x) = cervena nebo jahoda(x), zraly(x) barva(x, cervena) nebo X = jahoda, zraly(x) barva(x) = cervena 3 Kuchařka potřebuje vařechu. kucharka(x) potrebuje(x, varecha) nebo X = kucharka potrebuje(x, varecha) ŠPATNĚ: kucharka(x) potrebuje(x) = varecha

Příklady 1 Slepic je 25. pocet(slepice, 25) nebo pocet(slepice) = 25 2 Barva zralých jahod je červená. jahoda(x), zraly(x) barva(x) = cervena nebo jahoda(x), zraly(x) barva(x, cervena) nebo X = jahoda, zraly(x) barva(x) = cervena 3 Kuchařka potřebuje vařechu. kucharka(x) potrebuje(x, varecha) nebo X = kucharka potrebuje(x, varecha) ŠPATNĚ: kucharka(x) potrebuje(x) = varecha

Příklady 1 Slepic je 25. pocet(slepice, 25) nebo pocet(slepice) = 25 2 Barva zralých jahod je červená. jahoda(x), zraly(x) barva(x) = cervena nebo jahoda(x), zraly(x) barva(x, cervena) nebo X = jahoda, zraly(x) barva(x) = cervena 3 Kuchařka potřebuje vařechu. kucharka(x) potrebuje(x, varecha) nebo X = kucharka potrebuje(x, varecha) ŠPATNĚ: kucharka(x) potrebuje(x) = varecha

Příklady 4 Pes má uši. pes(x) ma(x, usi) nebo X = pes ma(x, usi) ŠPATNĚ: pes(x) ma(x) = usi 5 Jestliže je nějaké číslo dvojnásobkem jiného celého čísla, pak je sudé. Predikátová logika: X(( N(cele(N) & X = 2 ċ N)) sude(x)) X( ( N(cele(N) & X = 2 ċ N)) sude(x)) X N( cele(n) (X = 2 ċ N) sude(x)) X N(true cele(n) (X = 2 ċ N) sude(x)) Klauzule: cele(x), X = 2 ċ N sude(x)

Příklady 4 Pes má uši. pes(x) ma(x, usi) nebo X = pes ma(x, usi) ŠPATNĚ: pes(x) ma(x) = usi 5 Jestliže je nějaké číslo dvojnásobkem jiného celého čísla, pak je sudé. Predikátová logika: X(( N(cele(N) & X = 2 ċ N)) sude(x)) X( ( N(cele(N) & X = 2 ċ N)) sude(x)) X N( cele(n) (X = 2 ċ N) sude(x)) X N(true cele(n) (X = 2 ċ N) sude(x)) Klauzule: cele(x), X = 2 ċ N sude(x)

Příklady 4 Pes má uši. pes(x) ma(x, usi) nebo X = pes ma(x, usi) ŠPATNĚ: pes(x) ma(x) = usi 5 Jestliže je nějaké číslo dvojnásobkem jiného celého čísla, pak je sudé. Predikátová logika: X(( N(cele(N) & X = 2 ċ N)) sude(x)) X( ( N(cele(N) & X = 2 ċ N)) sude(x)) X N( cele(n) (X = 2 ċ N) sude(x)) X N(true cele(n) (X = 2 ċ N) sude(x)) Klauzule: cele(x), X = 2 ċ N sude(x)

Příklady 4 Pes má uši. pes(x) ma(x, usi) nebo X = pes ma(x, usi) ŠPATNĚ: pes(x) ma(x) = usi 5 Jestliže je nějaké číslo dvojnásobkem jiného celého čísla, pak je sudé. Predikátová logika: X(( N(cele(N) & X = 2 ċ N)) sude(x)) X( ( N(cele(N) & X = 2 ċ N)) sude(x)) X N( cele(n) (X = 2 ċ N) sude(x)) X N(true cele(n) (X = 2 ċ N) sude(x)) Klauzule: cele(x), X = 2 ċ N sude(x)

Příklady 4 Pes má uši. pes(x) ma(x, usi) nebo X = pes ma(x, usi) ŠPATNĚ: pes(x) ma(x) = usi 5 Jestliže je nějaké číslo dvojnásobkem jiného celého čísla, pak je sudé. Predikátová logika: X(( N(cele(N) & X = 2 ċ N)) sude(x)) X( ( N(cele(N) & X = 2 ċ N)) sude(x)) X N( cele(n) (X = 2 ċ N) sude(x)) X N(true cele(n) (X = 2 ċ N) sude(x)) Klauzule: cele(x), X = 2 ċ N sude(x)

Příklady 4 Pes má uši. pes(x) ma(x, usi) nebo X = pes ma(x, usi) ŠPATNĚ: pes(x) ma(x) = usi 5 Jestliže je nějaké číslo dvojnásobkem jiného celého čísla, pak je sudé. Predikátová logika: X(( N(cele(N) & X = 2 ċ N)) sude(x)) X( ( N(cele(N) & X = 2 ċ N)) sude(x)) X N( cele(n) (X = 2 ċ N) sude(x)) X N(true cele(n) (X = 2 ċ N) sude(x)) Klauzule: cele(x), X = 2 ċ N sude(x)