MI 2003/6 - 1 Elsőrendű predikátumkalkulus (elsőrendű logika) - alapvető különbség a kijelentéslogikához képest: alaphalmaz. Objektumok, relációk, tulajdonságok, függvények. Példa: A1: Van olyan páciens, aki minden doktorban megbízik. A2: A kuruzslókban egyetlen páciens sem bízik meg. B: Egyetlen doktor sem kuruzsló.
MI 2003/6 - 2 Másik példa: állatok tulajdonságainak leírása: Minden strucc madár. Van olyan madár, amelyik nem strucc. A struccok kivételével minden madár tud repülni. Csak a strucc olyan madár, amelyik nem tud repülni.
MI 2003/6 - 3 Még egy példa: Hanoi tornyai Alaphalmaz? Utolsó példa: földrajzi adattár
MI 2003/6 - 4 Formulák felépítése: individuumkonstansok individuumváltozók predikátumok függvények logikai műveletek kvantorok elválasztó jelek
MI 2003/6 - 5 (n változós) relációk definíciója n = 0: ítéletek n = 1: az alaphalmazon értelmezett logikai függvény Megjegyzés: kvantorok csak az individuumváltozókra vonatkoznak, predikátumokra nem!
MI 2003/6 - 6 Függvények definíciója a szokásos Példa: földrajzi adattár, fővárosok
MI 2003/6 - 7 Elsőrendű predikátumkalkulus (nyelv): - Logikai műveletek, kvantorok, elválasztó-jelek:, , , , , , , (, ), és , - Elemkonstansok: a, b, c, …, elemváltozók (individuumváltozók): x, y, z, … (vagy x1, x2, x3, …) - Ítéletváltozók (logikai -): p, q, r, ...
MI 2003/6 - 8 - Függvényszimbólumok (-jelek) (esetleg nincs), mindegyiknek adott a változószáma: nullváltozós - elemkonstans - Predikátumjelek (nem üres!), mindegyiknek adott a változószáma. Nullváltozós: logikai változó Példák
MI 2003/6 - 9 Szintaxis: - Term: minden elemkonstans minden elemváltozó ha f egy n változós függvény, és x1, x2, …, xn termek, akkor f(x1, x2, …, xn) is az
MI 2003/6 - 10 Atomi formula (prímformula): P(t1, t2, …, tn), ahol P n-változós predikátumjel, t1, t2, …, tn termek Formula (jólformált formula): - minden atomi formula, - ha A és B formula, x változó, akkor A, (AB), (AB), (AB), (AB), xA, xA is formula Egyenlőség
MI 2003/6 - 11 Precedenciasorrend, zárójelezés Univerzális, egzisztenciális kvantor, kötött, szabad előfordulás, hatáskör. Példák: - kezdeti orvos - állatok leírása Zárt formula (predikátumkalkulusbeli ítélet)
MI 2003/6 - 12 Szemantika (kiértékelés) - halmaz megadása, - függvények definíciója, - predikátumok definíciója. Példa: mit jelenthet (x)(P(x,a)(y)(f(y)=x))
MI 2003/6 - 13 Az ítéletkalkulushoz hasonlóan: - kielégíthető, - érvényes, - kielégíthetetlen formulák. Fontos: érvényességhez az összes lehetséges interpretáció!!!
MI 2003/6 - 14 Hogyan kell kiértékelni? A rekurzív definíciót kell használni: - termek, - atomi formulák, - formulák.
MI 2003/6 - 15 Két formula ekvivalens, ha minden interpre-tációban megegyezik az igazságértékük. Törvények: nevezetes ekvivalenciák. Pl. - A(x)Bx(A(x)B) - xA(x)xA(x) - xA(x)xB(x)x(A(x)B(x)) (diszjunkciónál?)
MI 2003/6 - 16 Logikai következmény: egy B formula logikai következménye az A1, A2, …, An formuláknak, ha minden olyan interpretációban, amikor A1, A2, …, An mindegyike igaz, igaz B is. A1 = x(P(x)Q(x)) A2 = P(a) B = Q(a) következménye A1, A2-nek?
MI 2003/6 - 17 Hogyan bizonyítsunk? Az ítéletkalkulusbeli helyettesítés lehetetlen (minden interpretációra szükség lenne), a levezetés nagyon bonyolult. Marad: rezolúció. Ehhez először itt is klózformára kell hozni, de ez egy kicsit bonyolultabb:
MI 2003/6 - 18 1. és kiküszöbölése 2. Negációk bevitele a predikátumokig (de Morgan és A(x)xA(x) 3. Változók átnevezése (kötött változók különbözzenek) (standardizálás). Pl. x(P(x)x(Q(x)) standard alakja: x(P(x)y(Q(y))
MI 2003/6 - 19 4. Prenex normálforma: az összes kvantort a formula baloldalára írjuk (sorrend marad). 5. Egzisztenciális kvantorok kiküszöbölése: xP(x) helyett P(a) (Skolem konstans), xyP(x,y) helyett xP(x, g(x)) (Skolem függvény). Általánosan is hasonlóan, csak több változóval.
MI 2003/6 - 20 6. Hagyjunk el minden prefixumot (csak általános kvantorok voltak). 7. Hozzuk konjunktív normálformára. 8. Klózhalmaz kialakítása. 9. Ha szükséges, változók átnevezése.
MI 2003/6 - 21 Bevezető feladat formulái: A1 = x(P(x)y(D(y)M(x,y))) A2 = xP(x)y(K(y)M(x,y))) B = x(D(x)K(x))