Az informatika logikai alapjai INCK401 Előadó: Dr. Mihálydeák Tamás Sándor Gyakorlatvezető: Kovács Zita 2014/2015. I. félév 3. gyakorlat
Nulladrendű logika Egy olyan logikai rendszer, amely épül fel. a nulladrendű nyelvből, a nyelvhez kapcsolódó nulladrendű interpretációból, az interpretációra támaszkodó nulladrendű szemantikai szabályokból, a nulladrendű centrális logikai fogalmakból épül fel.
A nulladrendű nyelv L(0)=〈LC,Con,Form〉 ahol LC={¬,⊃,∧,∨,≡,(,)} (a nyelv logikai konstansainak halmaza) Con≠∅ a nyelv nemlogikai konstansainak (állítás- vagy kijelentés-paramétereinek) legfeljebb megszámlálhatóan végtelen halmaza LC∩Con=∅ A nyelv formuláinak a halmazát, azaz a Form halmazt az alábbi induktív definíció adja meg:
A Form halmaz induktív definíciója Con⊆Form (Con elemei az atomi formulák) Ha A∈Form, akkor ¬A∈Form. Ha A,B∈Form, akkor (A⊃B)∈Form, (A∧B)∈Form, (A∨B)∈Form, (A≡B)∈Form.
Példák formulákra p, q, r, s, t,… ¬p, ¬q, ¬r, …… (A ⊃ B), (A ∧ ¬ B),… atomi formula (eleme a Con halmaznak) p, q, r, s, t,… atomi formulából képzett formula ¬p, ¬q, ¬r, …… formulákból képzett formula (A ⊃ B), (A ∧ ¬ B),… formulából képzett formula ¬ (A ⊃ B), (¬ (A ∧ ¬ B) ∨C),…..
Példák formulákra Legyen Con = {p, q}. Ekkor Form = {p, q, } ¬p, ¬q, (p ⊃ q), (p ∨ q), (p ∧ q), (p ≡ q), ¬(p ⊃ q), ¬(p ∨ q), ¬(p ∧ q), ¬(p ≡ q), ((p ⊃ q) ⊃ (p ∨ q)), ((p ⊃ q) ∧ (p ∨ q)), … …. }
1. feladat Add meg annak a függvénynek az induktív definícióját, amely minden formula esetén megadja a formulában szereplő zárójelek számát! f: Form ->N Ha p∈Con, akkor f(p) = 0 Ha p∈Con, akkor f(¬p) = 0 Ha A∈Form, akkor f(¬A) = f(A) Ha A,B∈Form, akkor f( (A*B) ) = f(A)+f(B)+1, ahol * ∈{∧, ∨, ⊃, ≡}
1. feladat - példa Alkalmazd lépésenként azt a függvényt, amely minden nulladrendű formula esetén megadja a formulában szereplő zárójelek számát, a ((¬(¬t ∨ r) ⊃ s) ⊃ t) nulladrendű formulára (Con = {p, q, r, s, t})! f(((¬(¬t ∨ r) ⊃ s) ⊃ t))=f((¬(¬t ∨ r) ⊃ s) )+f(t)+1= = f(¬(¬t ∨ r))+f(s)+1+0+1=f((¬t ∨ r))+0+1+0+1 =f(¬t)+f(r)+1+0+1+0+1=0+0+1+0+1+0+1=3
2. feladat Add meg annak a függvénynek az induktív definícióját, amely minden formula esetén megadja a formulában szereplő valódi logikai konstansok számát! (a definiálandó függvény adja meg a formula logikai összetettségét.) f: Form ->N Ha p∈Con, akkor f(p) = 0 Ha p∈Con, akkor f(¬p) = 1 Ha A∈Form, akkor f(¬A) = f(A)+1 Ha A,B∈Form, akkor f( (A*B) ) = f(A)+f(B)+1, ahol * ∈ {∧, ∨, ⊃, ≡}
2. feladat - példa Alkalmazd lépésenként azt a függvényt, amely minden nulladrendű formula esetén megadja a formulában szereplő valódi logikai konstansok számát, a ((¬(¬t ∨ r) ⊃ s) ⊃ t) nulladrendű formulára (Con = {p, q, r, s, t})! f(((¬(¬t ∨ r) ⊃ s) ⊃ t))=f((¬(¬t ∨ r) ⊃ s) )+f(t)+1= =f(¬(¬t ∨ r))+f(s)+1+0+1=f((¬t ∨ r))+1+0+1+0+1= =f(¬t)+f(r)+1+1+0+1+0+1=1+0+1+1+0+1+0+1=5
Formula részformuláinak halmaza Legyen A∈Form az L(0) nyelv tetszőleges formulája. Az A formula részformuláinak halmaza az a legszűkebb halmaz [jelölés: RF(A)], amelyre teljesül, hogy A∈RF(A), azaz az A formula részformulája önmagának; ha ¬B∈RF(A), akkor B∈RF(A); ha (B⊃C)∈RF(A), akkor B,C∈RF(A); ha (B∧C)∈RF(A), akkor B,C∈RF(A); ha (B∨C)∈RF(A), akkor B,C∈RF(A); ha (B≡C)∈RF(A), akkor B,C∈RF(A).
Példa részformulákra Legyen D=(¬(A ∨ ¬B) ∧ ¬A). Ekkor RF(D) = { (¬(A ∨ ¬B) ∧ ¬A), ¬(A ∨ ¬B), ¬A, (A ∨ ¬B), A, ¬B, B}
Közvetlen részformula Ha p atomi formula (azaz p∈Con), akkor nincs közvetlen részformulája; ¬A egyetlen közvetlen részformulája A; Az (A⊃B),(A∧B),(A∨B),(A≡B) formulák közvetlen részformulái az A és a B formulák.
Példa közvetlen részformulákra p∈Con, KRF(p) = ∅. KRF(¬A) = {A}; KRF(A⊃B) = {A, B} KRF(¬A⊃(B∧A)) = {¬A, (B∧A)}
Részformula vs. közvetlen részformula {¬A, A} {A} (A⊃B) {(A⊃B) ,A, B} {A, B} (¬A⊃(B∧A)) {(¬A⊃(B∧A)),¬A, (B∧A), A, B} {¬A, (B∧A)} számosság!
Részformula másik definíciója Egy A formula részformuláinak halmaza az a legszűkebb halmaz [jelölés: RF(A)], amelyre teljesül, hogy A∈RF(A), (azaz az A formula részformulája önmagának); ha Aʹ∈RF(A) és B közvetlen részformulája Aʹ- nek, akkor B∈RF(A) (azaz, ha egy Aʹ formula részformulája A-nak, akkor Aʹ összes közvetlen részformulája is részformulája A-nak).
Feladat Add meg annak a függvénynek az induktív definícióját, amely minden formula esetén megadja, hogy a formulának legfeljebb hány részformulája lehet!
(((X ⊃ Y) ∧ (Y ⊃ Z)) ⊃ (¬X ∨ Z)) ((X ⊃ Y) ⊃ ((X ⊃ ¬Y) ⊃ ¬Y)) Feladat: Soroljuk fel az alábbi formulák összes részformuláit! Húzzuk alá a közvetlen részformulákat! (((X ⊃ Y) ∧ (Y ⊃ Z)) ⊃ (¬X ∨ Z)) ((X ⊃ Y) ⊃ ((X ⊃ ¬Y) ⊃ ¬Y)) ((¬X ∨ Y) ⊃ ¬Z) ¬((X ∨ Y) ∧ ¬X) ¬((X ∨ Y) ∨ Z) ¬((X ∨ Y) ⊃ (X ∧ Y)) ((X ∧ Y) ≡ (Y ∧ X))
Szerkezeti fa gyökere az A formula, Az A formula szerkezeti fáján egy olyan véges rendezett fát értünk, amelynek csúcsai formulák gyökere az A formula, ¬B alakú csúcsának egyetlen gyermeke a B formula, (B⊃C),(B∧C),(B∨C),(B≡C) alakú csúcsainak két gyermekét a B, illetve a C formulák alkotják, levelei prímformulák (atomi formulák).
Példa szerkezeti fára ¬((¬A⊃(B∧A)) ∨ ¬(A ⊃ ¬B)) Fontos, hogy a zárójeleket ki kell tenni!
Feladat HF. Add meg annak a függvénynek az induktív definícióját, amely minden formula esetén megadja, hogy a formula szerkezeti fájának hány csúcsa van!
Segédletek logikából Dr. Várterész Magda: Dr. Mihálydeák Tamás: http://www.inf.unideb.hu/~mihalydeak/Logika_html_2011_11_15.zip http://www.inf.unideb.hu/~mihalydeak/Logika_my_twt-treeview.html http://www.inf.unideb.hu/~mihalydeak/Inf_log_ea_06_07_1.pdf Dr. Várterész Magda: http://www.inf.unideb.hu/~varteres/logika/Logikafo.pdf http://www.inf.unideb.hu/~varteres/logika_peldatar/matlog.pdf http://www.inf.unideb.hu/~varteres/logika_peldatar/megoldas.pdf Lengyel Zoltán: http://www.inf.unideb.hu/~lengyelz/docs/logika.pdf