Kocsisné Dr. Szilágyi Gyöngyi LOGIKA 2. Előadás Kocsisné Dr. Szilágyi Gyöngyi
A MATEMATIKAI LOGIKA ALKALMAZÁSSZEMLÉLETŰ TÁRGYALÁSA TECHNIKAI ADATOK Elérehetőség: aszt.inf.elte.hu/~szilagyi/ szilagyi@aszt.inf.elte.hu Fogadó óra: hétfő 10-12 2.620 szoba Jegyzet: Pásztorné Varga Katalin, Várterész Magda: A MATEMATIKAI LOGIKA ALKALMAZÁSSZEMLÉLETŰ TÁRGYALÁSA
TEMATIKA Bevezetés A 0. rendű logika (Itéletkalkulus) Szintaxis Szemantika 0. rendű logikai törvények Szemantikus következmény Normálformák Szintaktikus megközelítés (Bizonyításelmélet, Rezolúció) Az 1. rendű logika (Predikátumkalkulus) 1. rendű logikai törvények
FEJTÖRŐ Mit jelent a következő formula? (ZX) Y Igaz vagy hamis?
SZEMANTIKA Két módon: 1) Szemantika megadásának lépései: NYELV = ABC + SZINTAXIS + SZEMANTIKA Két módon: 1) Szemantika megadásának lépései: a) Interpretáció (az ABC elemeihez rendel i / h értéket) b) Boole értékelés (szerkezeti rekurzió elve alapján a formulákhoz rendel i / h értéket ) Igazságtábla (kiterjesztett, egyszerű; mohó / lusta kiértékelés) Szemantikus fa 2) Szemantika megadása Igazságértékelés függvény és fa megadása a szerkezeti rekurzió elve alapján
SZEMANTIKA Definíció: Interpretáció Interpretáció: I: Vv {i,h} 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! Definíció: Interpretáció Interpretáció: I: Vv {i,h} Definíció: Boole-értékelés BI(C) BI a formulákon értelmezett függvény. BI(C) a C formulához hozzárendeli annak helyettesítési értékét az adott I interpretációban. BI(C)-definíciója szerkezeti rekurzióval: 1. A C formula ítéletváltozó BI(C)= I(C) 2. A C formula negációs BI(A)= BI(A) A C formula (AB) alakú BI(AB)= BI(A)BI(B)
0. rendű logikai törvények EGY FORMULA Van-e olyan interpretáció, ahol igaz Minden interpretációban igaz Egyetlen interpretációban sem igaz KÉT FORMULA Az interpretációkban egyformán viselkednek-e
0. rendű logikai törvények Definíció: I interpretáció kielégít egy B formulát(könyv 69. oldal) Azt mondjuk, hogy az ítéletlogikában egy I interpretáció kielégít egy B formulát (I=0B, I modellje B-nek), ha a formula helyettesítési értéke igaz az I interpretációban. Definíció: formula kielégíthetősége Azt mondjuk, hogy egy B formula kielégíthető, ha legalább egy interpretáció kielégíti ( létezik modellje).
0. rendű logikai törvények Definíció: formula kielégíthetetlensége Azt mondjuk, hogy egy B formula kielégíthetetlen, ha egyetlen interpretáció sem elégíti ki (nincs modellje). Definíció: tautológia Azt mondjuk, hogy egy B formula tautológia (=0B), ha minden interpretáció kielégíti. A tautológiát ítéletlogikai törvénynek is nevezik.
Algoritmus: Kielégíthetőség
Példa X X
Algoritmus: Tautológia
Példa X X Igazságtáblája X X i i
KAPCSOLATUK Az ítéletlogikai formulák szemantikai tulajdonságuk alapján az alábbi ábra szerint osztályozhatók:
TÉTEL: Tautológia TÉTEL Ez a tétel alapozza meg, hogy a következőkben felsorolt formulák mind tautológiák.
TÉTEL: Itéletlogikai törvények bővítés előtaggal implikációlánc-törvény
TÉTEL: Itéletlogikai törvények reductio ad absurdum a kétszeres tagadás törvénye a kizárt harmadik törvénye ellentmondás törvénye az azonosság törvénye tranzitivitás ellentmondásból bármi következik Peirce-törvény
KIELÉGITHETŐSÉG ELDÖNTÉSE Kielégíthetőség eldöntése: igazságtáblával Ha van olyan sor A igazságtáblájában, ahol a Boole-értéke „i”. igazságértékelés fával Ha Ai nem üres, azaz (A)i fában nem minden ág ellentmondásos. Kielégíthetetlenség eldöntése: igazságtáblával Ha A igazságtáblájában minden sor Boole-értéke „h”. igazságértékelés fával Ha (A)i fában minden ág ellentmondásos, tehát Ai üres. Tautológia tulajdonság eldöntése: igazságtáblával Ha A igazságtáblájában minden sor Boole-értéke „i”. igazságértékelés fával Ha (A)h fa minden ága ellentmondásos, tehát Ah üres.
0. rendű logikai törvények EGY FORMULA Van-e olyan interpretáció, ahol igaz Minden interpretációban igaz Egyetlen interpretációban sem igaz KÉT FORMULA Az interpretációkban egyformán viselkednek-e
TAUTOLÓGIKUSAN EKVIVALENS FORMULÁK DEFINÍCIÓ
ALGORITMUS: EKVIVALENCIA Két formula tautologikusan ekvivalens, ha közös igazságtáblájukban a formulákhoz tartozó oszlopokban minden sorban ugyanaz az igazságérték található. Két formula akkor és csak akkor tautologikusan ekvivalens, ha az általuk leírt logikai művelet ugyanaz.
PÉLDA
EKVIVALENCIA RELÁCIÓ LEMMA:
TÉTEL TÉTEL
TÉTEL: Tautológikusan Ekvivalensek TÉTEL (Könyv 74. oldal) .
TÉTEL: Tautológikusan Ekvivalensek TÉTEL (Könyv 74. oldal) .
TÉTEL: Tautológikusan Ekvivalensek TÉTEL (Könyv 74. oldal) .
TÉTEL: Tautológikusan Ekvivalensek TÉTEL (Könyv 74. oldal) .
TÉTEL: Tautológikusan Ekvivalensek TÉTEL (Könyv 74. oldal) Egyszerűsítési szabályok: (Xd)(Xd) ~0 d 2. (Xk) (Xk) ~0 k, ahol d elemi diszjunkció és k elemi konjunkció. .
FORMULAHALMAZ KIELÉGITHETŐSÉGE Legyen F = {A1, A2,…,A} formulahalmaz. Definíció: Azt mondjuk, hogy az ítéletlogikában egy I interpretáció kielégít egy F formulahalmazt (I=0F), ha a formulahalmaz minden formulájának helyettesítési értéke i az I interpretációban. Definíció: Azt mondjuk, hogy egy F formulahalmaz kielégíthető, ha legalább egy interpretáció kielégíti. Definíció: Azt mondjuk, hogy egy F formulahalmaz kielégíthetetlen, ha bármely interpretációban legalább egy formulája h (nincs olyan interpretáció, ami kielégítené).
FORMULAHALMAZ KIELÉGITHETŐSÉGE TÉTEL Legyen F = {A1, A2,…,An} formulahalmaz. I=0F pontosan akkor, ha I=0 A1 A2 … An .
FEJTÖRŐ Helyesek –e a fenti következtetések? Miért?
Szemantikus következményfogalom Definíció: Tautológikus következmény A formula hamaznak a B formula tautológikus következménye ( |=o B), ha I: I |=o , akkor I |=o B ( vagyis minden modellje B-nek is modellje ). Speciális esetek: B tautológia: -nak következménye B kielégíthetetlen: nem beszélünk következmény fogalomról.
PONTOSAN AKKOR TÖRVÉNYEK Tétel:: I: I |=o { A1, ... , An } I |=o A1...An Tétel:: { A1, ... , An } |=o B A1...AnB kielégíthetetlen Tétel:(dedukciós)(könyv 80.old 4.4.7.tétel) Az {F1, F2, ..., Fn}=0G akkor és csak akkor, ha {F1, F2, ..., Fn-1}=0 (Fn G). Tétel:(eldöntésprobléma)(könyv 80.old 4.4.8.tétel) Az {F1, F2, ..., Fn}=0G akkor és csak akkor, ha =0F1(F2(...( Fn-1(Fn G))...) tautológia.
Helyes Következtetési formák Definíció: Helyes következtetési forma Az ( { A1, ... , An }, B ) helyes következtetési forma, ha { A1, ... , An } kielégíthető és { A1, ... , An } tautológikus következménye B.
Helyes Következtetési formák
Helyes Következtetési formák Példa: Bizonyítsuk be, hogy az ( { AB, A }, B ) helyes következtetési forma! igazságtábla: van = (AB)A-t kielégítő sor ( Tétel 1). A B AB - B következmény i * I h lusta kiértékelés ”A” feltételformula I(A)=i Mivel AB feltételformula és I(A)=i I(B)=i, tehát van -t kielégítő interpretáció. És B következmény, hiszen minden -t kielégítő I-re: I(B)=i.
Helyes Következtetési formák Példa folytatás: Bizonyítsuk be, hogy az ( { AB, A }, B ) helyes következtetési forma! igazságértékelés: van -t kielégítő interpretáció és B következmény, tehát helyes a következtetési forma. ((AB)A)i (AB)i (A)i (A)h (B)i x
Visszafele következtetés
Visszafele következtetés Igazság értékeléssel
Előre következtetés
Előre következtetés
ÖSSZEFOGLALÁS MÓDSZER( def. ) igazságtábla ( Tk. 77. old. ) lusta kiértékelés ( Tk. 77. old. ) igazságértékelés ( Tk. 78. old. ) VISSZAKÖVETKEZTETÉS def. szerint igazságtábla lusta kiértékelés igazságértékelés tétel szerint ( Lemma 2 ) igazságtábla ( Tk. 83. old. ) lusta kiértékelés ( Tk. 83. old. ) igazságértékelés ( Tk. 84. old. ) ELŐREKÖVETKEZTETÉS( tétel ) igazságtábla ( Tk. 85. old. ) lusta kiértékelés ( Tk. 85. old. )
KKNF és KDNF előállítása Bevezetés: A DNF-ek egyszerűsítési algoritmusainak kutatása az 50-70-es évekre tehető. Ez volt az az időszak, amikor az elektronikus berendezések tervezése korábban funkcionális (˄, ˅, ¬, ¬˄, ¬˅ funkciókat realizáló) elemek alapján, később a programozható logikai mátrixok (PLA), valamint memóriaelemek felhasználásával történt. Egy n-változós A formula az igazságtáblájával megadott b: {i,h}n{i,h} leképezést (logikai műveletet) ír le. A lehetséges interpretációk száma: 2n 2n Az n változós logikai műveletek száma: 2 Melyik logikai műveletek kellenek ahhoz, hogy egy adott nyelven mindegyik logikai művelethez tartozzon legalább egy logikai formula?
KKNF és KDNF előállítása Definíció: A logikai összekötőjelek halmazát funkcionálisan teljes művelethalmaznak nevezzük, ha e logikai összekötő jelhalmaz elemeinek és ítéletváltozóinak felhasználásával tetszőleges {i,h}n→{i,h} leképezéshez lehet konstruálni a leképezést leíró jólformált formulát. Tetszőleges {i,h}n→{i,h} leképezés leírható csak (¬, ˄, ˅) műveleti jeleket tartalmazó jólformált formulával, vagyis hogy a (¬, ˄, ˅) funkcionálisan teljes művelethalmaz.
KKNF és KDNF előállítása Definíciók: Literálnak nevezünk egy x prímformulát/ítéletváltozót vagy annak a negáltját, ¬x-et. A literál alapja a prímformula jele. 2. Azonos alapú literálok azok a literálok, amelyek ugyanazt a prímformulát tartalmazzák. X és ¬x 3. Különböző literálok a különböző alapú literálok. X és Y 4. Elemi konjukciónak nevezzük különböző literálok konjukcióját. X ˄ ¬x ˄ Y ˄ Z 5. Elemi diszjunkciónak nevezzük különböző literálok diszjunkcióját. Az elemi diszjunkciót klóznak is nevezzük. X ˅ ¬x ˅ Y ˅ Z 6. Teljes elemi konjukciónak nevezzük az olyan elemi konjukciót, amelyben a leképezésben szereplő minden ítéletváltozóból alkotott literálpár valamelyike szerepel. 7. Teljes elemi diszjunkciónak nevezzük az olyan elemi diszjunkciót, amelyben a leképezésben szereplő minden ítéletváltozóból alkotott literálpár valamelyike szerepel.
KKNF és KDNF előállítása Definíciók: 8. Diszjunktív normálforma (DNF) elemi konjunkciók diszjunkciója. (X ˄ ¬x) ˅ (Y ˄ Z) 9. Konjuktív normálforma (KNF) elemi diszjunkciók (vagy klózok) konjunkciója. (X ˅ ¬x) ˄ (Y ˅ Z) 10. Kitűntetett diszjunktív normálforma (KDNF) teljes elemi konjunkciók diszjunkciója. 11. Kitűntetett konjuktív normálforma (KKNF) teljes elemi diszjunkciók konjunkciója. A továbbiakban megadunk két algoritmust, amellyel tetszőleges {i,h}n→{i,h} leképezéshez az azt leíró speciális alakú formula állítható elő. Ezek a kitűntetett diszjunktív normálforma és a kitűntetett konjuktív normálforma. Tekintsük az α={i,h}n→{i,h} leképezés igazságtábláját. Legyenek x1,x2,…,xn az igazságtáblán szereplő ítéletváltozók.
KKNF és KDNF előállítása Kitüntetett diszjunktív normálforma előállítása Válasszuk ki az igazságtábla azon sorait ahol α=i. Minden ilyen sorhoz rendeljünk hozzá egy x’1˄x’2˄…˄x’n=ks teljes elemi konjunkciót úgy, hogy az x’i literál xi vagy ¬xi legyen aszerint, hogy ebben a sorban x’1 oszlopában i vagy h áll. Az így kapott teljes elemi konjunkciók diszjunkciója ki1˅ki2˅…˅kiα az α leképezést leró kitűntetett diszjunktív normálforma. Vegyük észre, hogy ks csak az igazságtábla hozzátartozó sorának megfelelő igazságértékelésre igaz, és így a ki1˅ki2˅…˅kiα formula pontosan az i1,i2,…,iα igazságkiértékelések mellett igaz.
KKNF és KDNF előállítása Kitűntetett diszjunktív normálforma előállítása az igazságtábla az elemi konjunkciók x y z α h i **** (¬x˄¬y˄¬z) (¬x˄y˄¬z) (¬x˄y˄z) (x˄¬y˄¬z) (x˄y˄¬z) A fenti α leképezést leíró kitűntetett diszjunktív normálforma (¬x˄¬y˄¬z)˅ (¬x˄y˄¬z)˅ (¬x˄y˄z)˅ (x˄¬y˄¬z)˅ (x˄y˄¬z) (=α)
KKNF és KDNF előállítása Kitűntetett konjunktív normálforma előállítása Válasszuk ki az igazságtábla azon sorait, ahol α =h. Minden ilyen sorhoz rendeljünk hozzá egy x1’˅x2’’˅…˅xn’’=dt teljes elemi diszjunkciót úgy, hogy az x1’’ literál xi vagy ¬xi legyen aszerint, hogy ebben a sorban xi oszlopában h vagy i áll. Az így kapott teljes elemi diszjunkciók konjunkciója di1˄di2˄…˄diα az alfa leképezést leíró kitűntetett konjunktív normálforma. Vegyük észre, hogy dt csak az igazságtábla hozzátartozó sorának megfelelő igazságértékelésre hamis, és így a di1˄di2˄…˄ diα formula pontosan az i1,i2,…,iα igazságértékelések mellett hamis.
KKNF és KDNF előállítása Kitűntetett konjunktív normálforma előállítása. az igazságtáblája az elemi diszjunkciók x y z α h i **** (x˅y˅¬z) (¬x˅y˅¬z) (¬x˅¬y˅¬z) A fenti α leképezést leíró kitűntetett konjunktív normálforma (x˅y˅¬z)˄ (¬x˅y˅¬z)˄ (¬x˅¬y˅¬z) (=α)
KKNF és KDNF előállítása A normálforma egyszerűsítése Legyen k egy elemi konjunkció és x egy ítéletváltozó, ekkor a k1=k˄x, k2=k˄¬x konjunkciókra a (k˄x)˅(k˄¬x)=k˄(x˅¬x)=k˄(i)=k egyszerűsítési szabály alkalmazható. Ezt az egyszerűsítési szabályt alkalmazzuk a kitűntetett diszjunktív normálformák egyszerűsítésére. Az egyszerűsítési szabály alkalmazásával a k˄x, k˄¬x kunjunkciópárt a k konjunkcióval helyettesítjük, és így a formulában szereplő konjunkciók száma is csökken. Az egyszerűsítések során a KDNF-ből egy DNF áll elő. A duális egyszerűsítési szabály hasonló módon alkalmas a kitűntetett konjunktív normálformák egyszerűsítésére, ahol k elemi diszjunkció, x ítéletváltozó és az egyszerűsítési szabály (k˅x)˄(k˅¬x)=k˅(x˄¬x)=k˅(h)=k.
KKNF és KDNF előállítása Az alábbiakban megadunk egy algoritmust KDNF-ek egyszerűsítésére. Felírjuk a KDNF-ben szereplő összes elemi konjunkciót. Megvizsgáljuk a konjunkciólistában szereplő összes lehetséges elemi konjunkciópárt, hogy alkalmazható-e rájuk a (k˄x)˅(k˄¬x)=k egyszerűsítés. Ha igen, akkor a két kiválasztott konjunkciót #-al megjelöljük, és az eredmény konjunkciót beírjuk egy új konjunkciólistába. Azok az elemi konjunkciók, amelyek az eljárás végén nem lesznek megjelölve, nem voltak egyszerűsíthetők, tehát belekerülnek az egyszerűsített diszjunktív normálformába. Ha az új konjunkciólista nem üres, akkor megvizsgáljuk, hogy van-e olyan konjunkciópár, amelyekre a k˅k=k összefüggés alkalmazható. A lehetséges összevonások után kapott új konjunkciólista átveszi a konjunkciólista szerepét és a 2. lépés következik. Az eljárás befejeződik, és az algoritmus során kapott, de meg nem jelölt elemi konjunkciókat a ˅ művelettel összekapcsoló formula az eredeti KDNF-el egyenértékű egyszerűsített DNF.
KKNF és KDNF előállítása Kitűntetett konjunktív normálforma előállítása Válasszuk ki az igazságtábla azon sorait, ahol α =h. Minden ilyen sorhoz rendeljünk hozzá egy x1’˅x2’’˅…˅xn’’=dt teljes elemi diszjunkciót úgy, hogy az x1’’ literál xi vagy ¬xi legyen aszerint, hogy ebben a sorban xi oszlopában h vagy i áll. Az így kapott teljes elemi diszjunkciók konjunkciója di1˄di2˄…˄diα az alfa leképezést leíró kitűntetett konjunktív normálforma. Vegyük észre, hogy dt csak az igazságtábla hozzátartozó sorának megfelelő igazságértékelésre hamis, és így a di1˄di2˄…˄ diα formula pontosan az i1,i2,…,iα igazságértékelések mellett hamis.
KKNF és KDNF előállítása Kitűntetett konjunktív normálforma előállítása Válasszuk ki az igazságtábla azon sorait, ahol α =h. Minden ilyen sorhoz rendeljünk hozzá egy x1’˅x2’’˅…˅xn’’=dt teljes elemi diszjunkciót úgy, hogy az x1’’ literál xi vagy ¬xi legyen aszerint, hogy ebben a sorban xi oszlopában h vagy i áll. Az így kapott teljes elemi diszjunkciók konjunkciója di1˄di2˄…˄diα az alfa leképezést leíró kitűntetett konjunktív normálforma. Vegyük észre, hogy dt csak az igazságtábla hozzátartozó sorának megfelelő igazságértékelésre hamis, és így a di1˄di2˄…˄ diα formula pontosan az i1,i2,…,iα igazságértékelések mellett hamis.