Kocsisné Dr. Szilágyi Gyöngyi
Elérehet ő ség: aszt.inf.elte.hu/~szilagyi/ aszt.inf.elte.hu/~szilagyi Fogadó óra: hétf ő szoba Jegyzet: Pásztorné Varga Katalin, Várterész Magda: A MATEMATIKAI LOGIKA ALKALMAZÁSSZEMLÉLET Ű TÁRGYALÁSA matikai_logika_alkalmazasszemleletu_targyalasa/adatok.html
Bevezetés A 0. rendű logika (Itéletkalkulus) Szintaxis Szemantika 0. rendű logikai törvények (kielégíthető, kielégíthetetlen, azonosan igaz) Szemantikus következmény Normálformák Automatikus tételbizonyítás (szemantikus, szintaktikus) Az 1. rendű logika (Predikátumkalkulus) Szintaxis Szemantika 1. rendű logikai törvények (kielégíthető, kielégíthetetlen, azonosan igaz) Szemantikus következmény Szintaktikus megközelítés ( Rezolúció)
Az 1. rendű logika (Predikátumkalkulus) Szintaxis abc, term, formula, szintaktikai definíció, egyértelmű elemzés, szerkezeti indukció és rekurzió Műveletek hatásköre, változó előfordulás-változó-formula minősítése Logikai összettetség Alapkifejezés, prímformula, prímkomponens Változó átnevezés, Termhelyettesítés Szemantika Interpretáció (abc elemei: logikán kívüli rész) változó kiértékelés( ) L-értékelés (term és formula) Term és formula értéktáblája Quine-féle táblázat Kielégíthetőség: kielégíthető, kielégíthetetlen, logikailag igaz, tautológia 1. rendű logikai törvények Szemantikus következmény Szintaktikus megközelítés ( Rezolúció)
NYELV = ABC + SZINTAXIS + SZEMANTIKA Abc Logikai rész: , , , , , , Indivídum változók (X, Y, …) – megszámlálhatóan végtelen, adott fajtájúak Elválasztó jelek („(„ „)”) (ítélet változók) Logikán kívüli rész: Függvény, predikátum és konstans szimbólumok Elemfajták halmaza
A nyelv ábécéjének értelmezése (interpretációja - modellezése). Az ítéletlogika ábécéjében csak az ítéletváltozókat kell interpretálni. Az ítéletváltozók befutják az állítások halmazát. Ha megmondjuk melyik ítéletváltozó melyik állítást jelenti, akkor a változó igazságértékét megadtuk. Ennek rögzítését interpretációnak nevezzük: Emlékeztető: Formula minden ítéletváltozó ( V v ) JFF ha A JFF akkor A JFF ha A,B JFF akkor (A○B) JFF minden formula előáll az előző három eset véges sokszori alkalmazásával. Egyszerű állításÖsszetett állítás interpretációBoole-értékelés { i, h } { i, h } Formula jelentése mindig igazságérték!
Nyelv szignaturája: I Struktúra szignaturája: x,y,... Individum változók A formalizált egyyfajtájú nyelv szignaturája és a matematikai struktúra szignaturája közötti kapcsolat.
x u1 V U y u2
A L-értékelés Egy olyan leképezés, amely egy formulához hozzárendeli annak jelentését: {i,h}. A formula valamely L(V v ) = formalizált nyelven íródott 1. lépés. Választunk egy S = matematikai struktúrát, amelynek a típusa megegyezik az L nyelv típusával 2. lépés. a logikán kívüli szimbólumokat a megfelelő relációkkal illetve műveletekkel azonosítjuk (I) 3. lépés. Kiértékeljük a formulában szereplő termeket, a nem kötött változóinak az összes lehetséges változókiértékelése mellett 4. lépés. Kiértékeljük a formulát a nem kötött változóinak az összes lehetséges változókiértékelése mellett
Definíció: Termek = I, L-értékelése 1. x s individuumváltozó: |x s | I, a (x) U ( egy változókiértékelés) c konstansszimbólum: |c| I, az U-beli c I elem. 2. |f(t 1, t 2,..., t n )| I, = f I (|t 1 | I, , |t 2 | I, ,..., |t n | I, )
( x) ( y) x+ x*y Példa: logikai nyelvstruktúra nyelve I: L= (=, P 1, P 2 ; a, b, f 1, f 2 )S= N ( =, ; 0, 1, +, * ) (2, 2, 2 ; 0, 0, 2, 2 ) (2, 2, 2 ; 0, 0, 2, 2 ) = I, Term interpretációja: t = (f 1 (x, f 2 (x,y))) = f 1 (x, f 2 (x,y)) = + ( x, * (x,y)) = x+ x*y
Definíció: Formulák = I, L-értékelése 1. |P(t 1, t 2,..., t n ))| I, = i, ha (|t 1 | I, , |t 2 | I, ,..., |t n | I, ) P I, ahol P I jelöli a P I reláció igazhalmazát. 2. | A| I, = |A| I, |A B| I, = |A| I, |B| I, |A B| I, = |A| I, |B| I, |A B| I, = |A| I, |B| I, 3. | xA| I, = i, ha |A| I, * = i minden * x variánsára | xA| I, = i, ha |A| I, * = i legalább egy * x variánsára (A a formula törzse/mátrixa)
Egy kvantormentes formula kiértékelése ( x) ( y) (x+ x*y)<( y+ x*y) A formula minden alap előfordulását generáljuk 11h és így minden állítás előáll 23i Példa: Kvantormentes formula interpretációja: = I, (P 1 (t, f 1 (y, f 2 (x,y)))) = P 1 (t , (f 1 (y, f 2 (x,y))) )= P 1 (t , f 1 (y, f 2 (x,y))) = < (+ (x,* (x,y)),+(y,*(x,y)) = < ( x+ x*y, y+ x*y) = (x+ x*y)<( y+ x*y)
Nézzük meg az értéktábláját ( x) 0<(x+x) 0h 1i Nézzük meg az értéktábláját ( x) 0<(1+x) 0i 1i Univerzális formula interpretálása: = I, ( x P 1 (a, f 1 (b,x))) = i, ha (P 1 (a, f 1 (b,x))) (x/u) = i minden u U Mivel minden egészre a formula törzse i, ezért a x(0<(1+x)) formula értéke i. Egzisztenciális formula interpretálása: = I, ( x P 1 (a, f 1 (x,x))) =i, ha (P 1 (a, f 1 (x,x))) (x/u) =i legalább egy u U ebben az interpretációban, ha 0<(x+x) = i legalább egy u N Mivel az x=1-re a formula törzse i, ezért a x(0<(x+x)) formula is i.
XYZ (Z X Y Z) iii i iih i ihi i Egy 1. rendű formula primformulái az atomi formulák ( p(t 1,..., t n ) ) és a kvantált formulák Egy 1. rendű formula primkomponensei a formula azon primformulái, amelyekből a formula logikai összekötőjelek segítségével épül fel. Példa: P(X) prímformula, de csak akkor prímkomponens, ha magában szerepel a formulában: P(X) Q(X) -ben: P(X) prímkomponens is xP(x) Q(X) -ben: P(X) nem prímkomponens, csak prímformula Az igazságtáblában (0. rendű logika) az első sorba az állításváltozók (ezek a formula prímkomponensei) és a formula kerülnek. A változók alá igazságértékeiket írjuk. A formula alatt a megfelelő helyettesítési értékek találhatók.
Egy 1. rendű formula értéktáblájában az első sorba a szabad indivíduum változók a primkomponensek és a formula kerülne. Mivel a primformulák több esetben paraméteres állítások, ezért az interpretációban az indivíduum változók kiértékelése után válnak állításokká. Ezért az értéktábla első sorába még a formulában lévő indivíduum változókat is felsoroljuk a primformulák elé. Az indivíduum változók alá azok lehetséges kiértékelései kerülnek A primformulák alá a megfelelő helyettesítési értékek kerülnek A formula alatt a prímformulák értékeinek megfelelő helyettesítési értékek találhatók.
ADOTT INTERPRETÁCIÓBAN EGY ADOTT VÁLTOZÓKIÉRTÉKELÉS ESETÉN NÉZI A FORMULA ÉRTÉKÉT Példa A formula xP(x) yQ(w,y) P(v) zQ(w,z) A primkomponensek: xP(x), y(Q(w,y), P(v), zQ(w,z)). A szabad indivíduum változók: v, w. Legyen az interpretáló struktúra: U={1, 2, 3}, P ={1,3} Q ={(1,2),(1,3), (2,1), (2,2), 2,3)}, Ekkor ( xP(x)) = h, a többiek paraméteres állítások Az értéktábla: ( V) ( w)( xP(x)) ( y(Q(w,y)) P(v) ( zQ(w,z))) ( xP(x) yQ(w,y) P(v) zQ(w,z)) 11 …. h y(Q (1,y))=i P (1)=i zQ (1,z)=h i mivel a feltételrész hamis ….
A PRIMKOMPONENSEK ÖSSZES LEHETSÉGES ÉRTÉKÉT NÉZI Példa A formula xP(x) yQ(w,y) P(v) zQ(w,z) A primkomponensek: xP(x), y(Q(w,y), P(v), zQ(w,z)). A Quine tábla: xP(x) y(Q(w,y) P(v) zQ(w,z)) xP(x) yQ(w,y) P(v) zQ(w,z)) iiiii …………… hhhhi
Definíció: Kielégíthetőség Definíció: Kielégíthetetlenség Azt mondjuk, hogy G formula, illetve F formulahalmaz kielégíthetetlen (nem kielégíthető), ha L-hez nincs olyan I interpretáció, hogy I = G illetve, hogy I = F. Más szóval egy G formula kielégíthetetlen ha minden interpretációban a G értéktáblájának minden sorában G helyettesítési értéke h(amis). Az F formulahalmaz kielégíthetetlen, ha az F közös érték táblájában minden sorban van legalább egy eleme F-nek, amelynek a helyettesítési értéke h(amis).
Definíció: Logikailag igaz formula
Definíció: Tautológia Azt mondjuk, hogy egy G formula tautológia, ha G Quine táblájában a prímkomponensekhez rendelhető összes lehetséges igazságérték hozzárendelés esetén a formula helyettesítési értéke i. Jelölés: = 0 A TÉTEL: Definíció: Logikai ekvivalencia Az A és B elsőrendű formulák logikailag ekvivalensek ha A =B és B =A.
DEFINICIÓ: Logikai vagy szemantikus következmény Azt mondjuk, hogy a G formula logikai (szemantikus) következménye az F formulahalmaznak, ha minden olyan I interpretációra amelyre I = F a I = G is fennáll. Jelölés: F = G. TÉTEL F-nek szemantikus következménye G, akkor és csak akkor, ha az F { G} kielégíthetetlen Eldöntésprobléma: tetszőleges 1.rendű formulahalmazról eldönteni, hogy kielégíthetetlen-e
1. ÉRTÉKTÁBLÁVAL F = G, ha minden olyan interpretáló struktúrában, ahol az F, G közös értéktáblájában minden olyan sorban, ahol az F elemeinek helyettesítési értéke i(gaz), a G helyettesítési értéke is i(gaz). 2. REZOLÚCIÓVAL F { G} kielégíthetetlenségének bizonyításával.
Az F1 F2 ... Fn G elsőrendű formulát logikailag ekvivalens módon át kell írni elsőrendű klózok konjunkciójává. Elsőrendű klóz: x y(P(x) Q(x,f(y)) kifejtése U={a,b,c} felett alapklózok konjunkciójává: (P(a) Q(a,f(a)) (P(a) Q(a,f(b)) (P(a) Q(a,f(c)) (P(b) Q(b,f(a)) (P(b) Q(b,f(b)) (P(b) Q(b,f(c)) (P(c) Q(b,f(a)) (P(c) Q(b,f(b)) (P(c) Q(b,f(c)) Lépések: 1. Prenex alakra hozás 2. Skolem alakra hozás 3. Klózokra bontás (K: Klózhalmaz) 4. A Herbrand univerzum és Bázis: a klózhalmaz alapelőfordulásainak generálása 5. Herbrand tétele alapján pontosan akkor vezethető le az üres klóz, ha K kielégíthetetlen 6. Az alaprezolúció segítségével az üres klóz levezetése
Definíció : Prenex formula Egy B=Q 1 x 1 Q 2 x 2 …Q s x s A formulát prenex formulának nevezünk, ha az A formula kvantormentes. A formula Q 1 x 1 Q 2 x 2 …Q s x s részét a formula prefixumának, az A részét a formula magjának vagy mátrixának nevezik. Prenex-konjunktív normálformájú illetve prenex-diszjunktív normálformájú egy prenex formula, ha a magja KNF illetve DNF. Megmutatjuk, hogy tetszőleges elsőrendű formula átalakítható prenex formulává. Ehhez megadunk néhány, a kvantorokra vonatkozó azonosságot, majd egy algoritmust, amely biztosítja tetszőleges formula prenex formulává alakítását az említett azonos átalakítások felhasználásával.
Algoritmus tetszőleges formula prenex alakra való átírására A formulában szereplő logikai összekötőjelek átírása ¬, ˄, ˅ logikai műveletekre. A De Morgan- és az általános De Morgan- szabályok alkalmazása addig, amíg a ¬ hatásköre minden esetben atomi formula nem lesz. A kvantorkiemelési szabályok alkalmazása addig, amíg az összes kvantor a formula elé nem kerül.
Megadunk egy algoritmust, amellyel tetszőleges prenex formulához meg lehet konstruálni egy vele logikailag ekvivalens Skolem-formulát. Algoritmus Skolem-formula előállítására. A prenex formula legyen Q 1 x 1 Q 2 x 2 …Q s x s A. Megkeressük az első egzisztenciális kvantort. Ha ilyen nincs, akkor a formula Skolem-formula. Az algoritmus befejeződik. Legyen az első egzisztenciális kvantor az j-edik. Válasszunk egy olyan f függvényszimbólumot, amely nem szerepel a nyelvben és jelöljük f(x 1,x 2,…,x j- 1 )-el a Skolem függvényt. Az új formulát úgy kapjuk meg, hogy elhagyjuk a x j kvantort és a B-ben elvégezzük az (x j /f(x 1,x 2,…,x j-1 )) helyettesítést. A kapott formulával következik az 1. lépés. Tétel: Legyen B prenex formula és B SN a B alapján előállított Skolem-formula. A B formula logikailag ekvivalens a B SN formulával.
TÉTEL: Herbrand-tétel Egy K elsőrendű klózhalmaz akkor és csak akkor kielégíthetetlen, ha a K klózai alapelőfordulásainak van véges kielégíthetetlen K’ részhalmaza. Példa 1. Legyen K={P(x), ¬P(f(a))}. A K kielégíthetetlen, mivel K’={P(f(a)), ¬P(f(a))} egy véges kielégíthetetlen részhalmaza K alapklózainak. Példa 2. A K={¬P(x) ˅ Q(f(x),x), P(g(b)), ¬Q(y,z)} kielégíthetetlen, mert K’={¬P(g(b)) ˅ Q(f(g(b)), g(b)), P(g(b)), ¬Q(f(g(b)), g(b))} egy véges kielégíthetetlen részhalmaza K alapklózainak. Ezek az alapklózok az (x/g(b), y/f(g(b)), z/g(b)) helyettesítéssel álltak elő.
A rezolúciós kalkulusra több, a Herbrand-tételeket felhasználó számítógépes implementáció ismert. Az ítéletlogikai rezolúciós kalkulust, valamint az alapklózhalmazon definiált alaprezolúciós kalkulust egyformán lehet végrehajtani. Egy elsőrendű K klózhalmazból való rezolúciós levezetés egy olyan véges k1, k 2,..., k n elsőrendű klózsorozat, ahol minden j=1, 2,..., n-re 1. vagy k j K 2. vagy van olyan 1 s,t j, hogy k j a k s, k t klózpár elsőrendű rezolvense. Az elsőrendű logikában a probléma abban rejlik, hogy a Herbrand univerzum feletti alapatomok célszerű generálási sorrendjére nincs stratégia, és így a műveletszám becslése lehetetlen. A nulladrendű rezolúciós elvben a rezolvensképzés feltétele az volt, hogy két C 1, C 2 klózban pontosan egy azonos alapú, de ellenkezően negált literál (egy komlemens pár) forduljon elő. Azokra a klózokra, amelyek nem tartalmaznak változót, a döntés egyszerű. Azonban a változót tartalmazó klózok esetén a helyzet komplikáltabb.
Példa Tekintsük például a következő két klózt: C 1 =P(x) ˅ Q(x) C 2 =¬P(f(y)) ˅ R(y) Látszólag nincs olyan literál C 1 -ben, amely komplementere lenne a C 2 valamelyik literáljának. Ha viszont előállítjuk a Herbrand-univerzum feletti alapelőfordulástokat, akkor az x/f(a), y/a helyettesítések mellett előálló P(f(a)) ˅ Q(f(a)), ¬P(f(a)) ˅ R(a) alapklózokban a P(f(a)), ¬P(f(a)) ilyen komplemens pár.
Példa alaprezolúcióra Előállítjuk az első rendű klózok magjainak összes alappéldányát és az alapklózok halmazán ítéletlogikai rezolúcióval levezetjük az üres klózt. Az elsőrendű klózhalmaz: { x y(P(x) Q(x,f(y))), z v( P(g(z)) P(v)), uQ(g(u),u)} H univerzum: a, g(a), f(a), g(f(a)), g(g(a)), f(f(a)), f(g(a)), …(A klózhalmaz leíró nyelvének összes alaptermje) Alapklózok: alaprezolúcióaz ítletlogikai megfelelő levezetés 1. Q(g(f(a)), f(a))u/f(a)1. X 2. P(g(f(a))) Q(g(f(a)),f(a))x/g(f(a)), y/a2. Y X 3. P(g(f(a)))3. Y 4. P(g(f(a)))z/f(a), v/ g(f(a))4. Y 5. xyzvu P(x) Q(x,f(y)) P(g(z)) P(v) Q(g(u),u) aaaaa P(a) Q(a,f(a)) P(g(a)) P(a) Q(g(a),a) g(a)aa a P(g(a)) Q(g(a),f(a)) P(g(a)) P(g(a)) Q(g(a),a) g(a)aa f(a) P(g(a)) Q(g(a),f(a)) P(g(a)) P(g(a)) Q(g(f(a)), f(a)) g(f(a)) af(a) g(f(a)) f(a) P(g(f(a))) Q(g(f(a)),f(a)) P(g(f(a))) P(g(f(a))) Q(g(f(a)), f(a))
Az elsőrendű rezolúcióban a rezolvens képzésnél az illesztő helyettesítéssel dolgozunk, és az alapján próbáljuk levezetni az üres klózt. Példa Elsőrendű rezolúciós levezetés a { x y(P(x) Q(x,f(y))), z v( P(g(z)) P(v)), uQ(g(u),u)} klózhalmazból. 1. P(x) Q(x,f(y)) K 2. Q(g(u),u) K u / f(y), x/g(f(y)), 3. P(g(f(y)))rez(1,2) 4. P(g(z)) P(v) K faktorizálás (v/g(z))z/f(y), ) 5.