Klauzulární logika Interpretace klauzule Šárka Vavrečková Ústav informatiky, Filozoficko-přírodovědecká fakulta Slezské univerzity v Opavě sarka.vavreckova@fpf.slu.cz 27. října 2008
Jak na klauzuli p 1, p 2,..., p m q 1, q 2,..., q n p 1 &p 2 &... &p m q 1 q 2 ċ ċ ċ q n A K A K 0 0 1 0 1 1 1 0 0 1 1 1 Nepravdivá (0): p 1 &p 2 &... &p m 1 q 1 q 2 ċ ċ ċ q n 0 Klauzule je nepravdivá ve struktuře S při valuaci e, pokud zároveň všechny atomy antecedentu jsou pravdivé, všechny atomy konsekventu jsou nepravdivé.
Jak na klauzuli p 1, p 2,..., p m q 1, q 2,..., q n p 1 &p 2 &... &p m q 1 q 2 ċ ċ ċ q n A K A K 0 0 1 0 1 1 1 0 0 1 1 1 Nepravdivá (0): p 1 &p 2 &... &p m 1 q 1 q 2 ċ ċ ċ q n 0 Klauzule je nepravdivá ve struktuře S při valuaci e, pokud zároveň všechny atomy antecedentu jsou pravdivé, všechny atomy konsekventu jsou nepravdivé.
Jak na klauzuli p 1, p 2,..., p m q 1, q 2,..., q n p 1 &p 2 &... &p m q 1 q 2 ċ ċ ċ q n A K A K 0 0 1 0 1 1 1 0 0 1 1 1 Nepravdivá (0): p 1 &p 2 &... &p m 1 q 1 q 2 ċ ċ ċ q n 0 Klauzule je nepravdivá ve struktuře S při valuaci e, pokud zároveň všechny atomy antecedentu jsou pravdivé, všechny atomy konsekventu jsou nepravdivé.
Pravdivost klauzule Definice Klauzule je nepravdivá ve struktuře S při ohodnocení e, jestliže v tomto ohodnocení je její antecedent pravdivý a konsekvent nepravdivý, tedy když jsou všechny atomy antecedentu interpretovány jako true a všechny atomy konsekventu jako f alse. V opačném případě je klauzule pravdivá ve struktuře. Proč? A K A K 0 0 1 0 1 1 1 0 0 1 1 1 Z definice vyplývá, že klauzule je pravdivá v dané struktuře a ohodnocení, pokud je alespoň jeden atom v antecedentu nepravdivý nebo alespoň jeden atom v konsekventu pravdivý.
Pravdivost klauzule Definice Klauzule je nepravdivá ve struktuře S při ohodnocení e, jestliže v tomto ohodnocení je její antecedent pravdivý a konsekvent nepravdivý, tedy když jsou všechny atomy antecedentu interpretovány jako true a všechny atomy konsekventu jako f alse. V opačném případě je klauzule pravdivá ve struktuře. Proč? A K A K 0 0 1 0 1 1 1 0 0 1 1 1 Z definice vyplývá, že klauzule je pravdivá v dané struktuře a ohodnocení, pokud je alespoň jeden atom v antecedentu nepravdivý nebo alespoň jeden atom v konsekventu pravdivý.
Pravdivost klauzule Definice Klauzule je nepravdivá ve struktuře S při ohodnocení e, jestliže v tomto ohodnocení je její antecedent pravdivý a konsekvent nepravdivý, tedy když jsou všechny atomy antecedentu interpretovány jako true a všechny atomy konsekventu jako f alse. V opačném případě je klauzule pravdivá ve struktuře. Proč? A K A K 0 0 1 0 1 1 1 0 0 1 1 1 Z definice vyplývá, že klauzule je pravdivá v dané struktuře a ohodnocení, pokud je alespoň jeden atom v antecedentu nepravdivý nebo alespoň jeden atom v konsekventu pravdivý.
Definice Platnost klauzule Klauzule je platná (splněna) ve struktuře S, když je splnitelná pro jakoukoliv valuaci aplikovatelnou ve struktuře S. Jestliže klauzule není splnitelná v žádné valuaci aplikovatelné v dané struktuře, pak je nesplnitelná (není platná) v dané struktuře. Klauzule je logicky platná (logický zákon), jestliže je platná v jakékoliv struktuře.
Definice Platnost klauzule Klauzule je platná (splněna) ve struktuře S, když je splnitelná pro jakoukoliv valuaci aplikovatelnou ve struktuře S. Jestliže klauzule není splnitelná v žádné valuaci aplikovatelné v dané struktuře, pak je nesplnitelná (není platná) v dané struktuře. Klauzule je logicky platná (logický zákon), jestliže je platná v jakékoliv struktuře.
Definice Platnost klauzule Klauzule je platná (splněna) ve struktuře S, když je splnitelná pro jakoukoliv valuaci aplikovatelnou ve struktuře S. Jestliže klauzule není splnitelná v žádné valuaci aplikovatelné v dané struktuře, pak je nesplnitelná (není platná) v dané struktuře. Klauzule je logicky platná (logický zákon), jestliže je platná v jakékoliv struktuře.
Příklad - klauzule C = p(x), q(x, a) r(x, f(b)), r(x, c) Struktura S 1 pro interpretaci: S 1 = (W 1, F 1, R 1 ), kde W 1 = listi, zluta, hneda, zelena, modra, kuratko, jasan, dub, buk F 1 = barva 1 R 1 = strom 1, ma 2, barva listi 2 barva(kuratko) = zluta, barva(nebe) = modra, barva(zeme) = hneda, strom 1 = (jasan), (dub), (buk), ma 2 = (jasan, listi), (buk, listi), barva listi = (jasan, zluta), (dub, hneda), (buk, zelena) D(a) = listi, D(b) = kuratko, D(c) = modra, D(f) = barva, D(p) = strom, D(q) = ma, D(r) = barva listi
Příklad - klauzule C = p(x), q(x, a) r(x, f(b)), r(x, c) Uplatníme denotační zobrazení D na atomy v klauzuli: strom(x), ma(x, listi) barva listi(x, barva(kuratko)), barva listi(x, modra) Funkce barva: strom(x), ma(x, listi) barva listi(x, zluta), barva listi(x, modra)
Příklad - klauzule C = p(x), q(x, a) r(x, f(b)), r(x, c) Uplatníme denotační zobrazení D na atomy v klauzuli: strom(x), ma(x, listi) barva listi(x, barva(kuratko)), barva listi(x, modra) Funkce barva: strom(x), ma(x, listi) barva listi(x, zluta), barva listi(x, modra)
Příklad - klauzule C = p(x), q(x, a) r(x, f(b)), r(x, c) Uplatníme denotační zobrazení D na atomy v klauzuli: strom(x), ma(x, listi) barva listi(x, barva(kuratko)), barva listi(x, modra) Funkce barva: strom(x), ma(x, listi) barva listi(x, zluta), barva listi(x, modra) Interpretujeme se zvolenou valuací e 1 (X) = jasan: I(strom(jasan))[S 1, e 1 ] = true I(ma(jasan, listi))[s 1, e 1 ] = true I(barva listi(jasan, zluta))[s 1, e 1 ] = true I(barva listi(jasan, modra))[s 1, e 1 ] = false I(C)[S 1, e 1 ] = I(true, true true, false) = true
Příklad - klauzule C = p(x), q(x, a) r(x, f(b)), r(x, c) Uplatníme denotační zobrazení D na atomy v klauzuli: strom(x), ma(x, listi) barva listi(x, barva(kuratko)), barva listi(x, modra) Funkce barva: strom(x), ma(x, listi) barva listi(x, zluta), barva listi(x, modra) Interpretujeme se zvolenou valuací e 2 (X) = buk: I(strom(buk))[S 1, e 2 ] = true I(ma(buk, listi))[s 1, e 2 ] = true I(barva listi(buk, zluta))[s 1, e 2 ] = false I(barva listi(buk, modra))[s 1, e 2 ] = false I(C)[S 1, e 2 ] = I(true, true false, false) = false
Příklad - klauzule C = p(x), q(x, a) r(x, f(b)), r(x, c) Struktura S 2 pro interpretaci: S 2 = (W 1, F 2, R 2 ), kde W 2 = skola, index, sesit, student, kladivko, jana, pepa, karel F 2 = prukaz 1 R 2 = je student 1, jde do 2, ma 2 prukaz(student) = index, je student 1 = (pepa), (jana), jde do 2 = (pepa, skola), (jana, kino), (karel, skola), ma 2 = (pepa, sesit), (jana, index), (karel, kladivko) D(a) = skola, D(b) = student, D(c) = sesit, D(f) = prukaz, D(p) = je student, D(q) = jde do, D(r) = ma
Příklad - klauzule C = p(x), q(x, a) r(x, f(b)), r(x, c) Uplatníme denotační zobrazení D na atomy v klauzuli: je student(x), jde do(x, skola) ma(x, prukaz(student)), ma(x, sesit) Funkce prukaz: je student(x), jde do(x, skola) ma(x, index), ma(x, sesit) Interpretujeme se zvolenou valuací e 3 (X) = pepa: I(je student(pepa))[s 2, e 3 ] = true I(jde do(pepa, skola))[s 2, e 3 ] = true I(ma(pepa, index))[s 2, e 3 ] = false I(ma(pepa, sesit))[s 2, e 3 ] = true I(C)[S 2, e 3 ] = I(true, true false, true) = true Ve struktuře S 2 je C interpretována vždy jako true, proto I(C)[S 2 ] = true.
Příklad - klauzule C = p(x), q(x, a) r(x, f(b)), r(x, c) Uplatníme denotační zobrazení D na atomy v klauzuli: je student(x), jde do(x, skola) ma(x, prukaz(student)), ma(x, sesit) Funkce prukaz: je student(x), jde do(x, skola) ma(x, index), ma(x, sesit) Interpretujeme se zvolenou valuací e 3 (X) = pepa: I(je student(pepa))[s 2, e 3 ] = true I(jde do(pepa, skola))[s 2, e 3 ] = true I(ma(pepa, index))[s 2, e 3 ] = false I(ma(pepa, sesit))[s 2, e 3 ] = true I(C)[S 2, e 3 ] = I(true, true false, true) = true Ve struktuře S 2 je C interpretována vždy jako true, proto I(C)[S 2 ] = true.
Příklad - klauzule C = p(x), q(x, a) r(x, f(b)), r(x, c) Uplatníme denotační zobrazení D na atomy v klauzuli: je student(x), jde do(x, skola) ma(x, prukaz(student)), ma(x, sesit) Funkce prukaz: je student(x), jde do(x, skola) ma(x, index), ma(x, sesit) Interpretujeme se zvolenou valuací e 3 (X) = pepa: I(je student(pepa))[s 2, e 3 ] = true I(jde do(pepa, skola))[s 2, e 3 ] = true I(ma(pepa, index))[s 2, e 3 ] = false I(ma(pepa, sesit))[s 2, e 3 ] = true I(C)[S 2, e 3 ] = I(true, true false, true) = true Ve struktuře S 2 je C interpretována vždy jako true, proto I(C)[S 2 ] = true.
Příklad - klauzule C = p(x), q(x, a) r(x, f(b)), r(x, c) Uplatníme denotační zobrazení D na atomy v klauzuli: je student(x), jde do(x, skola) ma(x, prukaz(student)), ma(x, sesit) Funkce prukaz: je student(x), jde do(x, skola) ma(x, index), ma(x, sesit) Interpretujeme se zvolenou valuací e 3 (X) = pepa: I(je student(pepa))[s 2, e 3 ] = true I(jde do(pepa, skola))[s 2, e 3 ] = true I(ma(pepa, index))[s 2, e 3 ] = false I(ma(pepa, sesit))[s 2, e 3 ] = true I(C)[S 2, e 3 ] = I(true, true false, true) = true Ve struktuře S 2 je C interpretována vždy jako true, proto I(C)[S 2 ] = true.
Přidáváme... Antecedent p 1 &p 2 &... &p n q 1 q 2... q m true &p 1 &p 2 &... &p n q 1 q 2... q m A K true, A K Když do množiny antecedentu přidáme atom true, pravdivostní hodnota klauzule se nezmění.
Přidáváme... Antecedent p 1 &p 2 &... &p n q 1 q 2... q m true &p 1 &p 2 &... &p n q 1 q 2... q m A K true, A K Když do množiny antecedentu přidáme atom true, pravdivostní hodnota klauzule se nezmění.
Přidáváme... Antecedent p 1 &p 2 &... &p n q 1 q 2... q m true &p 1 &p 2 &... &p n q 1 q 2... q m A K true, A K Když do množiny antecedentu přidáme atom true, pravdivostní hodnota klauzule se nezmění.
Přidáváme... Konsekvent p 1 &p 2 &... &p n q 1 q 2... q m p 1 &p 2 &... &p n q 1 q 2... q m false A K A K, false Když do množiny konsekventu přidáme atom f alse, pravdivostní hodnota klauzule se nezmění.
Přidáváme... Konsekvent p 1 &p 2 &... &p n q 1 q 2... q m p 1 &p 2 &... &p n q 1 q 2... q m false A K A K, false Když do množiny konsekventu přidáme atom f alse, pravdivostní hodnota klauzule se nezmění.
Přidáváme... Konsekvent p 1 &p 2 &... &p n q 1 q 2... q m p 1 &p 2 &... &p n q 1 q 2... q m false A K A K, false Když do množiny konsekventu přidáme atom f alse, pravdivostní hodnota klauzule se nezmění.
Prázdná množina antecedentu K true K Jestliže je pravda pravdivá, pak platí to, co je v konsekventu. Alespoň jedno tvrzení v konsekventu rozhodně platí. Tento typ klauzule nazýváme fakt. Použití : reprezentace tvrzení platných v konkrétním světě (struktuře) speciální axiomy. kulaty(zeme) pocet nohou(clovek, 2), pocet nohou(clovek, 4) pocasi(jasno), pocasi(zatazeno), pocasi(prsi), pocasi(snezi) pocet dni(leden, 31) hraje na(@c, harmonika)
Prázdná množina antecedentu K true K Jestliže je pravda pravdivá, pak platí to, co je v konsekventu. Alespoň jedno tvrzení v konsekventu rozhodně platí. Tento typ klauzule nazýváme fakt. Použití : reprezentace tvrzení platných v konkrétním světě (struktuře) speciální axiomy. kulaty(zeme) pocet nohou(clovek, 2), pocet nohou(clovek, 4) pocasi(jasno), pocasi(zatazeno), pocasi(prsi), pocasi(snezi) pocet dni(leden, 31) hraje na(@c, harmonika)
Prázdná množina antecedentu K true K Jestliže je pravda pravdivá, pak platí to, co je v konsekventu. Alespoň jedno tvrzení v konsekventu rozhodně platí. Tento typ klauzule nazýváme fakt. Použití : reprezentace tvrzení platných v konkrétním světě (struktuře) speciální axiomy. kulaty(zeme) pocet nohou(clovek, 2), pocet nohou(clovek, 4) pocasi(jasno), pocasi(zatazeno), pocasi(prsi), pocasi(snezi) pocet dni(leden, 31) hraje na(@c, harmonika)
Prázdná množina antecedentu K true K Jestliže je pravda pravdivá, pak platí to, co je v konsekventu. Alespoň jedno tvrzení v konsekventu rozhodně platí. Tento typ klauzule nazýváme fakt. Použití : reprezentace tvrzení platných v konkrétním světě (struktuře) speciální axiomy. kulaty(zeme) pocet nohou(clovek, 2), pocet nohou(clovek, 4) pocasi(jasno), pocasi(zatazeno), pocasi(prsi), pocasi(snezi) pocet dni(leden, 31) hraje na(@c, harmonika)
Prázdná množina antecedentu K true K Jestliže je pravda pravdivá, pak platí to, co je v konsekventu. Alespoň jedno tvrzení v konsekventu rozhodně platí. Tento typ klauzule nazýváme fakt. Použití : reprezentace tvrzení platných v konkrétním světě (struktuře) speciální axiomy. kulaty(zeme) pocet nohou(clovek, 2), pocet nohou(clovek, 4) pocasi(jasno), pocasi(zatazeno), pocasi(prsi), pocasi(snezi) pocet dni(leden, 31) hraje na(@c, harmonika)
Prázdná množina antecedentu K true K Jestliže je pravda pravdivá, pak platí to, co je v konsekventu. Alespoň jedno tvrzení v konsekventu rozhodně platí. Tento typ klauzule nazýváme fakt. Použití : reprezentace tvrzení platných v konkrétním světě (struktuře) speciální axiomy. kulaty(zeme) pocet nohou(clovek, 2), pocet nohou(clovek, 4) pocasi(jasno), pocasi(zatazeno), pocasi(prsi), pocasi(snezi) pocet dni(leden, 31) hraje na(@c, harmonika)
Prázdná množina antecedentu K true K Jestliže je pravda pravdivá, pak platí to, co je v konsekventu. Alespoň jedno tvrzení v konsekventu rozhodně platí. Tento typ klauzule nazýváme fakt. Použití : reprezentace tvrzení platných v konkrétním světě (struktuře) speciální axiomy. kulaty(zeme) pocet nohou(clovek, 2), pocet nohou(clovek, 4) pocasi(jasno), pocasi(zatazeno), pocasi(prsi), pocasi(snezi) pocet dni(leden, 31) hraje na(@c, harmonika)
Prázdná množina antecedentu K true K Jestliže je pravda pravdivá, pak platí to, co je v konsekventu. Alespoň jedno tvrzení v konsekventu rozhodně platí. Tento typ klauzule nazýváme fakt. Použití : reprezentace tvrzení platných v konkrétním světě (struktuře) speciální axiomy. kulaty(zeme) pocet nohou(clovek, 2), pocet nohou(clovek, 4) pocasi(jasno), pocasi(zatazeno), pocasi(prsi), pocasi(snezi) pocet dni(leden, 31) hraje na(@c, harmonika)
Prázdná množina konsekventu A A false Jestliže platí to, co je v antecedentu, pak platí false. Alespoň jedno tvrzení v antecedentu rozhodně nemůže platit. Použití : reprezentace negativních tvrzení. barva(pisek, f ialova) smrtelna zbran(pericko) prezident CR(honza), ma zamestnani(honza, popelar) je vrah(zahradnik), je vrah(domovnik), pocet pachatelu(1)
Prázdná množina konsekventu A A false Jestliže platí to, co je v antecedentu, pak platí false. Alespoň jedno tvrzení v antecedentu rozhodně nemůže platit. Použití : reprezentace negativních tvrzení. barva(pisek, f ialova) smrtelna zbran(pericko) prezident CR(honza), ma zamestnani(honza, popelar) je vrah(zahradnik), je vrah(domovnik), pocet pachatelu(1)
Prázdná množina konsekventu A A false Jestliže platí to, co je v antecedentu, pak platí false. Alespoň jedno tvrzení v antecedentu rozhodně nemůže platit. Použití : reprezentace negativních tvrzení. barva(pisek, f ialova) smrtelna zbran(pericko) prezident CR(honza), ma zamestnani(honza, popelar) je vrah(zahradnik), je vrah(domovnik), pocet pachatelu(1)
Prázdná množina konsekventu A A false Jestliže platí to, co je v antecedentu, pak platí false. Alespoň jedno tvrzení v antecedentu rozhodně nemůže platit. Použití : reprezentace negativních tvrzení. barva(pisek, f ialova) smrtelna zbran(pericko) prezident CR(honza), ma zamestnani(honza, popelar) je vrah(zahradnik), je vrah(domovnik), pocet pachatelu(1)
Prázdná množina konsekventu A A false Jestliže platí to, co je v antecedentu, pak platí false. Alespoň jedno tvrzení v antecedentu rozhodně nemůže platit. Použití : reprezentace negativních tvrzení. barva(pisek, f ialova) smrtelna zbran(pericko) prezident CR(honza), ma zamestnani(honza, popelar) je vrah(zahradnik), je vrah(domovnik), pocet pachatelu(1)
Prázdná množina konsekventu A A false Jestliže platí to, co je v antecedentu, pak platí false. Alespoň jedno tvrzení v antecedentu rozhodně nemůže platit. Použití : reprezentace negativních tvrzení. barva(pisek, f ialova) smrtelna zbran(pericko) prezident CR(honza), ma zamestnani(honza, popelar) je vrah(zahradnik), je vrah(domovnik), pocet pachatelu(1)
Prázdné množiny antecedentu i konsekventu true false Jestliže je pravda pravdivá, pak je i nepravda pravdivá. V jakékoliv struktuře při jakémkoliv ohodnocení jde vždy o nepravdivou klauzuli, absolutní kontradikci. Použití : K této klauzuli směřujeme v důkazu sporem.
Prázdné množiny antecedentu i konsekventu true false Jestliže je pravda pravdivá, pak je i nepravda pravdivá. V jakékoliv struktuře při jakémkoliv ohodnocení jde vždy o nepravdivou klauzuli, absolutní kontradikci. Použití : K této klauzuli směřujeme v důkazu sporem.
Konjunkce atomů v antecedentu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Konjunkci v antecedentu není třeba řešit. Atomy spojené konjunkcemi oddělíme čárkou. Když to má pruhy a kopyta, je to zebra. ma(x, pruhy), ma(x, kopyta) zebra(x) V planimetrii je objekt, jehož strany se rovnají, nazýván čtverec. typ geometrie(planimetrie), cislo(a), cislo(b), = (hodnota(a), hodnota(b)) ctverec(a, B)
Konjunkce atomů v antecedentu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Konjunkci v antecedentu není třeba řešit. Atomy spojené konjunkcemi oddělíme čárkou. Když to má pruhy a kopyta, je to zebra. ma(x, pruhy), ma(x, kopyta) zebra(x) V planimetrii je objekt, jehož strany se rovnají, nazýván čtverec. typ geometrie(planimetrie), cislo(a), cislo(b), = (hodnota(a), hodnota(b)) ctverec(a, B)
Konjunkce atomů v antecedentu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Konjunkci v antecedentu není třeba řešit. Atomy spojené konjunkcemi oddělíme čárkou. Když to má pruhy a kopyta, je to zebra. ma(x, pruhy), ma(x, kopyta) zebra(x) V planimetrii je objekt, jehož strany se rovnají, nazýván čtverec. typ geometrie(planimetrie), cislo(a), cislo(b), = (hodnota(a), hodnota(b)) ctverec(a, B)
Konjunkce atomů v antecedentu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Konjunkci v antecedentu není třeba řešit. Atomy spojené konjunkcemi oddělíme čárkou. Když to má pruhy a kopyta, je to zebra. ma(x, pruhy), ma(x, kopyta) zebra(x) V planimetrii je objekt, jehož strany se rovnají, nazýván čtverec. typ geometrie(planimetrie), cislo(a), cislo(b), = (hodnota(a), hodnota(b)) ctverec(a, B)
Disjunkce atomů v antecedentu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Řešíme podle vzorce: (A &(F 1 F 2 ) K) (A & F 1 K) & (A & F 2 K)
Disjunkce atomů v antecedentu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Řešíme podle vzorce: (A &(F 1 F 2 ) K) (A & F 1 K) & (A & F 2 K)
Disjunkce atomů v antecedentu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Řešíme podle vzorce: (A &(F 1 F 2 ) K) (A & F 1 K) & (A & F 2 K) 1 Jestliže má v tašce skripta nebo index, je to student. ma(x, skripta) student(x) ma(x, index) student(x)
Disjunkce atomů v antecedentu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Řešíme podle vzorce: (A &(F 1 F 2 ) K) (A & F 1 K) & (A & F 2 K) 2 Když to v létě má listí nebo jehličí, je to strom. obdobi(leto) &(ma(x, listi) ma(x, jehlici)) strom(x) rocni obdobi(leto), ma(x, listi) strom(x) rocni obdobi(leto), ma(x, jehlici) strom(x)
Disjunkce atomů v antecedentu proč to funguje Provedeme důkaz Quinovým algoritmem: (A&(F 1 F 2 ) K) (A& F 1 K)&(A& F 2 K)
Disjunkce atomů v antecedentu proč to funguje Provedeme důkaz Quinovým algoritmem: (A&(F 1 F 2 ) K) (A& F 1 K)&(A& F 2 K) K (A&(F 1 F 2 )) ( (A&F 1 )& (A&F 2 ))
Disjunkce atomů v antecedentu proč to funguje Provedeme důkaz Quinovým algoritmem: (A&(F 1 F 2 ) K) (A& F 1 K)&(A& F 2 K) K K (A&(F 1 F 2 )) ( (A&F 1 )& (A&F 2 )) 1 (1&1)
Disjunkce atomů v antecedentu proč to funguje Provedeme důkaz Quinovým algoritmem: (A&(F 1 F 2 ) K) (A& F 1 K)&(A& F 2 K) K K (A&(F 1 F 2 )) ( (A&F 1 )& (A&F 2 )) 1 (1&1) true
Disjunkce atomů v antecedentu proč to funguje Provedeme důkaz Quinovým algoritmem: (A&(F 1 F 2 ) K) (A& F 1 K)&(A& F 2 K) K K (A&(F 1 F 2 )) ( (A&F 1 )& (A&F 2 )) 1 (1&1) A 0 ( 0& 0) true
Disjunkce atomů v antecedentu proč to funguje Provedeme důkaz Quinovým algoritmem: (A&(F 1 F 2 ) K) (A& F 1 K)&(A& F 2 K) K K (A&(F 1 F 2 )) ( (A&F 1 )& (A&F 2 )) 1 (1&1) A 0 ( 0& 0) true true
Disjunkce atomů v antecedentu proč to funguje Provedeme důkaz Quinovým algoritmem: (A&(F 1 F 2 ) K) (A& F 1 K)&(A& F 2 K) K K (A&(F 1 F 2 )) ( (A&F 1 )& (A&F 2 )) 1 (1&1) A A 0 ( 0& 0) (F 1 F 2 ) ( F 1 & F 2 ) true true
Disjunkce atomů v antecedentu proč to funguje Provedeme důkaz Quinovým algoritmem: (A&(F 1 F 2 ) K) (A& F 1 K)&(A& F 2 K) K K (A&(F 1 F 2 )) ( (A&F 1 )& (A&F 2 )) 1 (1&1) A A 0 ( 0& 0) (F 1 F 2 ) ( F 1 & F 2 ) true true true
Disjunkce atomů v konsekventu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Disjunkci v konsekventu není třeba řešit. Atomy spojené disjunkcemi oddělíme čárkou. Kdo je v nemocnici, je nemocný nebo přišel někoho navštívit. nemocnice(n), je kde(x, N) nemocny(x), navstivil(x, @f(x)) Když prší nebo sněží, nosí Jana deštník nebo pláštěnku. pocasi(prsi) nosi(jana, destnik), nosi(jana, plastenka) pocasi(snezi) nosi(jana, destnik), nosi(jana, plastenka)
Disjunkce atomů v konsekventu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Disjunkci v konsekventu není třeba řešit. Atomy spojené disjunkcemi oddělíme čárkou. Kdo je v nemocnici, je nemocný nebo přišel někoho navštívit. nemocnice(n), je kde(x, N) nemocny(x), navstivil(x, @f(x)) Když prší nebo sněží, nosí Jana deštník nebo pláštěnku. pocasi(prsi) nosi(jana, destnik), nosi(jana, plastenka) pocasi(snezi) nosi(jana, destnik), nosi(jana, plastenka)
Disjunkce atomů v konsekventu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Disjunkci v konsekventu není třeba řešit. Atomy spojené disjunkcemi oddělíme čárkou. Kdo je v nemocnici, je nemocný nebo přišel někoho navštívit. nemocnice(n), je kde(x, N) nemocny(x), navstivil(x, @f(x)) Když prší nebo sněží, nosí Jana deštník nebo pláštěnku. pocasi(prsi) nosi(jana, destnik), nosi(jana, plastenka) pocasi(snezi) nosi(jana, destnik), nosi(jana, plastenka)
Disjunkce atomů v konsekventu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Disjunkci v konsekventu není třeba řešit. Atomy spojené disjunkcemi oddělíme čárkou. Kdo je v nemocnici, je nemocný nebo přišel někoho navštívit. nemocnice(n), je kde(x, N) nemocny(x), navstivil(x, @f(x)) Když prší nebo sněží, nosí Jana deštník nebo pláštěnku. pocasi(prsi) nosi(jana, destnik), nosi(jana, plastenka) pocasi(snezi) nosi(jana, destnik), nosi(jana, plastenka)
Konjunkce atomů v konsekventu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Řešíme podle vzorce: (A K (F 1 &F 2 )) ((A K F 1 ) &(A K F 2 ))
Konjunkce atomů v konsekventu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Řešíme podle vzorce: (A K (F 1 &F 2 )) ((A K F 1 ) &(A K F 2 ))
Konjunkce atomů v konsekventu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Řešíme podle vzorce: (A K (F 1 &F 2 )) ((A K F 1 ) &(A K F 2 )) 1 Kočky mají ostré zuby, ostré drápy a dobrý zrak. kocka(x) ma(x, ostre zuby) kocka(x) ma(x, ostre drapy) kocka(x) vidi(x, dobre)
Konjunkce atomů v konsekventu p 1, p 2,... p n q 1, q 2,..., q m p 1 &p 2 &... &p n q 1 q 2... q m Řešíme podle vzorce: (A K (F 1 &F 2 )) ((A K F 1 ) &(A K F 2 )) 2 Počítač s virem nebo spywarem vyčistíme a zabezpečíme. pocitac(x), zavirovany(x) vycistit(x) pocitac(x), ma spyware(x) vycistit(x) pocitac(x), zavirovany(x) zabezpecit(x) pocitac(x), ma spyware(x) zabezpecit(x)
Konjunkce atomů v konsekventu proč to funguje Provedeme důkaz Quinovým algoritmem: (A K (F 1 &F 2 )) ((A K F 1 )&(A K F 2 ))
Konjunkce atomů v konsekventu proč to funguje Provedeme důkaz Quinovým algoritmem: (A K (F 1 &F 2 )) ((A K F 1 )&(A K F 2 )) A 1 (1&1)
Konjunkce atomů v konsekventu proč to funguje Provedeme důkaz Quinovým algoritmem: (A K (F 1 &F 2 )) ((A K F 1 )&(A K F 2 )) A 1 (1&1) true
Konjunkce atomů v konsekventu proč to funguje Provedeme důkaz Quinovým algoritmem: (A K (F 1 &F 2 )) ((A K F 1 )&(A K F 2 )) A A 1 (1&1) (K (F 1 &F 2 )) ((K F 1 )&(K F 2 ) true
Konjunkce atomů v konsekventu proč to funguje Provedeme důkaz Quinovým algoritmem: (A K (F 1 &F 2 )) ((A K F 1 )&(A K F 2 )) A A 1 (1&1) (K (F 1 &F 2 )) ((K F 1 )&(K F 2 ) K true (F 1 &F 2 ) (F 1 &F 2 )
Konjunkce atomů v konsekventu proč to funguje Provedeme důkaz Quinovým algoritmem: (A K (F 1 &F 2 )) ((A K F 1 )&(A K F 2 )) A A 1 (1&1) (K (F 1 &F 2 )) ((K F 1 )&(K F 2 ) K true (F 1 &F 2 ) (F 1 &F 2 ) true
Konjunkce atomů v konsekventu proč to funguje Provedeme důkaz Quinovým algoritmem: (A K (F 1 &F 2 )) ((A K F 1 )&(A K F 2 )) A A 1 (1&1) (K (F 1 &F 2 )) ((K F 1 )&(K F 2 ) K K true (F 1 &F 2 ) (F 1 &F 2 ) 1 (1&1) true
Konjunkce atomů v konsekventu proč to funguje Provedeme důkaz Quinovým algoritmem: (A K (F 1 &F 2 )) ((A K F 1 )&(A K F 2 )) A A 1 (1&1) (K (F 1 &F 2 )) ((K F 1 )&(K F 2 ) K K true (F 1 &F 2 ) (F 1 &F 2 ) 1 (1&1) true true