Predikátumok Dr. György Anna BMF-NIK Szoftvertechnológia Intézet
Miért vezetjük be a predikátumokat? Hajós Alfréd olimpiai bajnok volt. Az olimpiai bajnokok kiváló teljesítményt nyújtottak. Hajós Alfréd kiváló teljesítményt nyújtott.
Példák predikátumokra Px: x olimpiai bajnok Qy: y kíváló teljesítményt nyújtott Ixy: x tankörtársa y-nak Oxyz: x osztója yz-nek.
Mi a kapcsolat a predikátumok és a kijelentés között? I xy : x tankörtársa y-nak I ab : Alfréd tankörtársa Bélának I xyz : x osztója yz-nek I 235 : 2 osztója 3*5 = 15-nek
Mi a kapcsolat a predikátumok és a kijelentések között? Ha a predikátum összes változójának helyébe „valódi objektumokat” helyettesítünk, akkor kijelentéseket kapunk.
Elnevezések •x,y,z individuumváltozók •a,b,c: individuumkonstansok •U: univerzum (individuumtartomány): a változók szóbajöhető értékeinek halmaza.
Definíció: Egy n-argumentumú Px 1 x 2 …,x n predikátum meghatároz egy P* U n homogén relációt, ahol U az x i változók lehetséges értékeinek halmaza és (a 1,a 2,…,a n ) P* pontosan akkor, ha Pa 1 a 2 …,a n = i
Műveletek: Átjelölés (I x → I y ) Konkretizáció(I xy → I ay ) Logikai műveletek (¬,,, →,↔) Kvantifikáció: Univerzális ( xPx) Egzisztenciális ( xPx)
Írjuk fel az alábbi kijelentést predikátumlogikában: Van páros prímszám. •U: = ℕ (univerzum) •Qx: x páros szám •Px: x prímszám Megoldás: x(Qx Px)
Írjuk fel az alábbi kijelentést predikátumlogikában: Vannak fiúk, akiknek vannak barátaik, de nincsen munkájuk. Fx: x fiú Bxy: x barátja y-nak Mx: x-nek nincsen munkája U = {emberek} x (Fx yBxy Mx)
Írjuk fel az alábbi kijelentést predikátumlogikában: Fejezzük ki a prímszámfogalmat oszthatósággal. Pxy: x osztója y-nak U = ℕ Qxy: x=y U = {1,2,…,n,…} p prímszám: x (Pxp → (Qx1 Qxp))
A kvantifikációk tulajdonságai Kommutativitás:
A kvantifikációk tulajdonságai Disztributivitás:
A kvantifikációk tulajdonságai De Morgan azonosság:
Predikátumlogika formulái Elsőrendű nyelv (Predikátumlogika nyelve):L (F,P) Szintaktika: Alkalmazható jelek megadása A nyelv kifejezéseinek megadása A nyelv formuláinak megadása
Elsőrendű predikátumlogika alapjelei (szimbólumai) a következők: •Az individuumváltozók: x 1,x 2,… •A függvényjelek (műveletek): f,g,…, ezek halmazát jelölje F (lehet üres halmaz is), f változóinak számát pedig n f (≥0). A 0-változós függvényjel egy individuum- állandó jele.
•A predikátumok jelei: P,Q,…, ezek nem- üres halmazát jelölje P, P változóinak n p (≥0) számát. A 0-változós predikátumjel egy kijelentésváltozó jele. •Logikai algebrai műveletek jelei: •Segédjelek (zárójelpárok): (,)
L kifejezései: 1.az individuumváltozók jelei; 2.az individuumkonstansok jelei; 3.ha k 1,k 2,…,k n az L kifejezései és f egy n-változós függvény jele, akkor f(k 1,k 2,…,k n ) is kifejezés L –ben; 4.L minden kifejezése előáll beli kifejezések véges számú alkalmazásával.
L formulái: 1.L atomi formulái, azaz Pk 1 …k n alakú jelsorozatok, ahol k 1,…,k n kifejezések és P n-változós predikátumjel ; 2.Ha A és B L-beli formulák, és x i individuumváltozó, akkor,, is formulák L –ben; 3.L minden formulája előáll 1. és 2. szerinti formulaképezés véges számú alkalmazásával.
Példa elsőrendű nyelvre: Interpretáció: f (x,y)=x+y; Qxy: x=y L( F,P ), F = {f, kétváltozós fv.} P = {Q, kétváltozós predikátum} Formula L-ben: x yQf (x,y) f (y,x)
Értékelés (Predikátumlogikai formulák interpretációja)
x y z (Pxyz Pyxz) Interpretációk: 1.I 1 = (U 1,F 1,P 1 ), ahol U 1 := ℝ, F 1 = , P 1 ={P}, Pxyz: {P*: (x,y,z) P*, ha x+y=z} 2.I 2 = (U 2,F 2,P 2 ), ahol U 2 := ℝ, F 2 = , P 2 ={P}, Pxyz: {P*: (x,y,z) P*, ha x-y=z}
x y(Qxyf(x,y)) Interpretációk: 1.I 1 = (U 1,F 1,P 1 ), ahol U 1 : = ℕ, F 1 ={f: f(x,y)=lkkt(x,y)}, P 1 = {Q}, Qxyz: {Q*: (x,y,z) Q*, ha xy=z,} 2.I 2 = (U 2,F 2,P 2 ), ahol U 2 := ℕ, F 2 ={f: f(x,y)=lnko(x,y)}, P 2 = {Q}, Qxyz: {Q*: (x,y,z) Q*, ha z>1}
Értékelés: A változók összes lehetséges logikai értéke mellett, az összes lehetséges interpretáció esetén meghatározzuk a formula logikai értékét. Egyenértékűség: A két formula (A és B) egyenértékű, ha a változók összes lehetséges logikai értéke mellett, az összes lehetséges interpretáció esetén a formulák logikai értéke megegyezik: A=B.