Az informatika logikai alapjai PTI BSc nappali szakosok számára g 2. verzió, 2009. október 9.



Hasonló dokumentumok
Predikátumkalkulus. 1. Bevezet. 2. Predikátumkalkulus, formalizálás. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák.

Predikátumkalkulus. Predikátumkalkulus alapfogalmai, formalizálás, tagadás, logikailag igaz formulák. Vizsgáljuk meg a következ két kijelentést.

A matematika nyelvér l bevezetés

Logika es sz am ıt aselm elet I. r esz Logika 1/36

Logika es sz am ıt aselm elet I. r esz Logika Harmadik el oad as 1/33

Diszkrét matematika 1. középszint

HALMAZELMÉLET feladatsor 1.

Elsőrendű logika szintaktikája és szemantikája. Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1

Logika es sz am ıt aselm elet I. r esz Logika Negyedik el oad as 1/26

Matematikai logika. 3. fejezet. Logikai m veletek, kvantorok 3-1

Az informatika logikai alapjai

KOVÁCS BÉLA, MATEMATIKA I.

DiMat II Végtelen halmazok

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

Logika és informatikai alkalmazásai

Matematikai logika 1 A MATEMATIKAI LOGIKA ALAPJAI. Pécsi Tudományegyetem, Bevezetés

Relációk. 1. Descartes-szorzat. 2. Relációk

Halmazelméleti alapfogalmak

Matematikai logika és halmazelmélet

Logika és informatikai alkalmazásai

SZÁMÍTÁSTUDOMÁNY ALAPJAI

Itt és a továbbiakban a számhalmazokra az alábbi jelöléseket használjuk:

RE 1. Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Diszkrét matematika I.

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Elsőrendű logika. Mesterséges intelligencia március 28.

A relációelmélet alapjai

LOGIKA ÉS ÉRVELÉSTECHNIKA

Matematikai logika. Nagy Károly 2009

2014. szeptember 24. és 26. Dr. Vincze Szilvia

Logika és informatikai alkalmazásai

Ítéletkalkulus. 1. Bevezet. 2. Ítéletkalkulus

1. előadás: Halmazelmélet, számfogalom, teljes

A matematika nyelvéről bevezetés

Logika és informatikai alkalmazásai

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

Diszkrét matematika I.

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Az informatika logikai alapjai

Logika es sz am ıt aselm elet I. r esz Logika Hatodik el oad as 1/33

2. Logika gyakorlat Függvények és a teljes indukció

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

Diszkrét matematika I.

Megoldások augusztus 8.

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy

1. Mondjon legalább három példát predikátumra. 4. Mikor van egy változó egy kvantor hatáskörében?

1. Az elsőrendű logika szintaxisa

A matematika alapjai. Nagy Károly 2014

Permutációk véges halmazon (el adásvázlat, február 12.)

Relációk. 1. Descartes-szorzat

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Logika és számításelmélet. 2011/11 11

Matematika B/1. Tartalomjegyzék. 1. Célkit zések. 2. Általános követelmények. 3. Rövid leírás. 4. Oktatási módszer. Biró Zsolt. 1.

1. tétel - Gráfok alapfogalmai

1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata.

AZ INFORMATIKA LOGIKAI ALAPJAI

Logika és informatikai alkalmazásai

Logika és informatikai alkalmazásai

LOGIKA ÉS ÉRVELÉSTECHNIKA

KOVÁCS BÉLA, MATEMATIKA I.

Logika és informatikai alkalmazásai

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

3. Magyarország legmagasabb hegycsúcsa az Istállós-kő.

Logika feladatgyűjtemény

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

Nagy Gábor compalg.inf.elte.hu/ nagy

1.1 Halmazelméleti fogalmak, jelölések

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Logika és informatikai alkalmazásai

LOGIKA ÉS ÉRVELÉSTECHNIKA

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós

Diszkrét matematika I. gyakorlat

dr. Szalkai István Pannon Egyetem, Veszprém, Matematika Tanszék november 3.

5. A kiterjesztési elv, nyelvi változók

Analízisfeladat-gyűjtemény IV.

KOVÁCS BÉLA, MATEMATIKA I.

Diszkrét matematika 1. estis képzés

Logika és informatikai alkalmazásai

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány

Nagy Gábor compalg.inf.elte.hu/ nagy

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

Az informatika logikai alapjai

Diszkrét matematika 2. estis képzés

2. Ítéletkalkulus szintaxisa

Matematika alapjai; Feladatok

Logika es sz am ıt aselm elet I. r esz Logika M asodik el oad as 1/26

Logika gyakorlat 08. Nincs olyan változó, amely szabadon és kötötten is előfordul.

Diszkrét Matematika - Beadandó Feladatok

Lineáris algebra és a rang fogalma (el adásvázlat, szeptember 29.) Maróti Miklós

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

Egyváltozós függvények 1.

2. Halmazelmélet (megoldások)

A logika, és a matematikai logika alapjait is neves görög tudós filozófus Arisztotelész rakta le "Analitika" című művében, Kr.e. IV. században.

1. A matematikai logika alapfogalmai. 2. A matematikai logika műveletei

Diszkrét matematika I. gyakorlat

Deníciók és tételek a beugró vizsgára

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma

Halmazelmélet. 2. fejezet 2-1

Átírás:

Az informatika logikai alapjai PTI BSc nappali szakosok számára g 2. verzió, 2009. október 9. Vályi Sándor NyF TTIK Matematikai és Informatikai Intézet 2009 szi szemeszter Az 1. verzióbeli részek apróbb javításokon estek keresztül, kérem, gyeljék! (A hibákat javítottam.) 1

Miért tanulunk logikát? A számítástudomány (computer science) alapvet része. Alkalmazásai: ismeretek formális, deklaratív leírása természetes nyelvi állítások formalizálása mesterséges ágensek környezetleírása áramkörök leírása (specikációja) szemantikus web (az internetes tartalmak metaadatainak formalizálása) 2

ismereteken végzett következtetések formalizálása, automatizálása automatizált következtetés (gépi bizonyítás) szabály alapú rendszerek robotika szoftverrobotok ismeretszerzése következtet eljárásokkal

számítástudomány alapeszköze algoritmuselmélet (milyen függvények kiszámíthatók?) bonyolultságelmélet (mennyi er forrás szükségeltetik az adott feladat megoldásához?) programok jelentésének leírása (szemantika ) programok helyességének bizonyítása (verkáció)

programozás logikai nyelveken Horn-logika, Prolog, Erlang szabály alapú rendszerek (szakért i rendszerek, CLIPS)

Az ismeretek, amire építünk legalábbis párhuzamosan használjuk 3

A Diszkrét matematika c. tárgy keretében tanulják: Nem csak a fogalmak deníció, hanem alapvet tulajdonságaik, összefüggéseik is Halmaz, halmaz eleme, halmazok megadása elemfelsorolással és hozzátartozási feltétel megadásával, halmaz része, egyenl halmazok, üres halmaz, diszjunkt halmaz, m veletek halmazokkal: unió, metszet, különbség, komplementer. Venn-diagrammok. Rendezett pár, rendezetlen pár, Descartes- (direkt) szorzat, rendezett n-es, relációk, üres reláció, reláció aritása, binér reláció, binér relációk tulajdonságai: reexív,irreexív, szimmetrikus, antiszimmetrikus, aszimmetrikus, tranzitív, dichotom, trichotom, ekvivalenciareláció, ekvivalenciaosztályok, gyenge/er s rendezési 4

reláció, teljes rendezési reláció, rendezett halmaz részhalmazának innuma és szuprémuma. n-változós függvény, értelmezési tartomány, értékkészlet, elem függvény általi képe, elem függvény általi sképe, szürjektív, injektív és bijektív függvények. Injektív függvény inverze, m veletek (operátorok). A természetes, az egész, a racionális és a valós számok halmazai és m veletei, tulajdonságaik. Véges és végtelen sorozatok, összef zési m veleteik. Két halmaz mikor egyenl számosságú, mikor kisebb az egyik halamz számossága a másikénál, véges és végtelen halmazok. Fa, fa csúcsa, fa gyökere, levelei, csúcsok mélysége, él, csúcs se, csúcs utódai, ág a fában, bináris fa.

Az ismeretek, amire építünk legalábbis párhuzamosan használjuk II. A Formális nyelvek és automaták c. tárgy keretében tanulják: Véges ábécé, bet, szó (véges jelsorozat), m veletek szavakkal: összef zés. Szó kezd szelete(prexe), végszelete, részszava. 5

Az ismeretreprezentáció típusai Ismeretreprezentáció = ismeretábrázolás típusai: deklaratív állításokkal írjuk le, milyen tények állnak fenn in- strukturális(szerkezeti) matematikai (vagy más, pl. formatikai, grakus) strukturákat írunk le vizuális procedurális (eljárásokkal írjuk le ismereteinket) 6

objektumorientált a deklaratív és a procedurális keveréke, sok esetben az emberi gondolkodásunkhoz közel álló, természetes ismeretleírási mód

Az ismeretreprezentáció típusai Az ember bels ismeretreprezentációja még intenzíven kutatott terület (cognitive science) Mindenesetre az ismeretek közlésének alapvet eszköze: a deklaratív típusú ismeretek (állítások) átadása 7

Példa logikai ismeretreprezentációra A wumpus-világbéli ágensünk feladata: a fenti pályán megtalálni az aranyat. A körülményeket el ször természetes nyelven írjuk le: 8

A wumpus-világ körülményei Az ágensünknek a fent megadott 4x4-es pályán kell megtalálnia az aranyat, bizonyos feltételek mellett: 9

csapdák (pit), szörny (wumpus) vannak a pályán, a csapdák 4- szomszédjaiban szell érz dik, a szörnnyel szomszédos szobákban b z érzékelhet, az arany ragyogásként érzékelhet, egyetlen nyilunk van, azt egy irányban tudjuk kil ni, s csak a szomszédos szobában van hatása: megöli a szörnyet ( a b z mindenhol elt nik), ha elhunyt a szörny, akkor halálsikolyt hallat: ezt mindenhol hallani, ha a szörnyhöz lépünk, meghalunk.

Cél : az arany megtalálása Er források: lépésszám korlátozott, egy nyilunk van, egy életünk van Érzékel k: b z, szell, ragyogás, sikoly, falnak-ütközés Akciók: balra fordul, jobbra fordul, lép, megfog

A wumpus-világ logikai leírása (nulladrend logikával) Cs i,j jelentse azt, hogy csapda van az [i, j] pozíción. Sz i,j jelentse azt, hogy szell van a [i, j] szobában Cs 1,1 Sz 1,2 Sz 2,1 A csapdák szelll t okoznak a szomszédos szobákban Sz 1,1 (Cs 1,2 Cs 2,1 ) Sz 2,1 (Cs 1,1 Cs 2,2 Cs 3,1 ) A szoba akkor és csak akkor szell s, ha valamelyik szomszédban csapda van 10

A wumpus-világ logikai leírása nulladrend logikával nagyon körülményes... Minden i, j-re ezeket külön meg kell ismételni, pl.: Sz 4,3 (Cs 4,2 Cs 4,4 Cs 3,3 ) Sz 3,3 (Cs 3,2 Cs 3,4 Cs 2,3 Cs 4,3 )... 11

A wumpus-világ logikai leírása els rend logikával nagyon természetes:... i, j (Sz i,j (Cs i,j 1 Cs i,j+1 Cs i 1,j Cs i+1,j )) (az egyszer ség kedvéért eltekintünk a határvonalon lév szobáktól) 12

A wumpus-példa egyedüli célja: A logikai ismeretreprezentáció szemléltetése. További használat: gyakorlaton. 13

Egyszer / összetett ismeret-reprezentáció Egyszer : csak egy típust engedünk meg, minden egyed ugyanannak az osztálynak eleme Els rend logika, Prolog, szabályrendszerek, leíró logikák Formális nyelvtanok 14

Összetett: többféle típusú objektumaink vannak Típusos els rend logika, másodrend logika, típuselméleti logika Objektum-orientált programok modelljei És ennek el dei: típushierarchia (taxonomikus háló), szemantikus hálók, keretek (frame-ek) Ebben a félévben csak a típusus els rend logikáig jutunk.

A logika tudományának f feladata és tanult részei A helyes következtetés fogalmának leírása A helyes következtetés törvényeinek megállapítása Szintaxis: a formulák, mint jelsorozatok vizsgálata Szemantika: hogyan f zünk jelentést a formulákhoz Bizonyításelmélet: hogyan érvelhetünk helyesen és teljes rendszerben, esetleg automatizáltan Nem f feladat a logikai fejtör k vizsgálata, bár ahhoz is ad hasznos eszközöket, fogalmakat. 15

A következtetés megfogalmazásai Meglév ismeret új ismeret Feltételek (premisszák) következmény Hipotézisek konklúzió Logikai következtetés: HA a premisszák igazak, AKKOR a konklúzió is igaz. 16

Logikai következmény Olyan következmény, ami csupán a logikai szavak jelentése miatt áll fenn. Ha A vagy B, akkor C. Nem igaz C. - A nem igaz. Logikai szavak itt: nem...,... vagy..., ha... akkor... 17

Másik példa logikai következményre Minden magyar szereti az anyját. Bárki anyja n. Van szép magyar n. Van szép n, aki szeret egy n t. Az ebben szerepl állítások logikai szerkezete már nehezebben felismerhet, ezzel foglalkozik majd az els rend logika. (Minden..., van olyan... ) Ha kicseréljük a magyar, szép, anyja, n szavakat hasonló nyelvtani szerep szavakra, a következtetés helyes marad! 18

Másik példa logikai következményre Minden ember halandó. Szókratész ember. - Szókratész halandó. Ha kicseréljük az ember, halandó, Szókratész szavakat hasonló nyelvtani szerep szavakra, a következtetés helyes marad! A minden szó logikai. Minden kutya ugat. Vahur kutya. Vahur ugat. 19

Ezzel szemben, bár mind a premisszák, mind a konklúzió igaz a szokásos jelentésében, mégsem helyes logikai következtetés az alábbi. Minden bogár rovar. A futrinka rovar. A futrinka bogár. Ugyanis, ha a benne szerepl szavaknak más a jelentésük, de a logikai szerkezet változatlan marad, lehet, hogy a premisszák igazak maradnak, de konklúzió hamis lesz, pl. Minden hüll gerinces. A béka gerinces. A béka hüll. Ezek szerint, a Minden A egyben B is. g B tulajdonságú. g A tulajdonságú. logikai szerkezet nem helyes következtetési forma. 20

A köznapi következtetéseink tartalmazzák a logikaiakat, de vannak másféle következtetéseink is. Bálint vére Csillának. Csilla anyja Dávidnak. Bálint anyai nagybátyja Dávidnak. A n k szeretik a szép ruhákat. Eszter szereti a szép ruhákat. Gabi maláriában szenvedett. Gabi kinint kap gyógyszerül. Gabi meggyógyul. Ezek a következtetések a mindennapi életben megállják a helyüket, de csak azért, mert valamilyen implicit háttérismeret van a birtokunkban, ami nincs odaírva, de amelyekkel kiegészítve a következmény már logikai. A második példában: Eszter n, a harmadikban: A kinin 100%-osan gyógyítja a maláriát. Az els példa feltételeinek kiegészítését az olvasóra bízzuk. 21

Állítás (propozíció) Olyan kijelent mondat, ami egyértelm jelentéssel bír és igazságértékkel rendelkezik. 22

Állítás Nem állítás A Tisza hazánk legnagyobb folyója. A Duna dél felé folyik. 3 + 2 > 5 x + 2 > y minden x N-re: x + 2 > x x := x + 1 Volt olyan francia király, aki kopasz volt. A francia király kopasz. Az x+2 > y az úgynevezett paraméteres állítások kategóriájához tartozik. 23

1. feladat Kijelentéslogikai kiolvasás Állítások-e az alábbi természetes nyelvi mondatok? a. Kett meg kett az négy. b. Kett meg kett az öt. c. Kett meg kett az négy? d. Ha kett meg kett az öt, akkor süt a nap. e. Süt a nap. f. Egészségtelenül táplálkozik, aki keveset mozog. g. Mindenki, aki keveset mozog és egészségtelenül táplálkozik, végül kövér lesz. h. Egészségesen táplálkozok. i. Néha nem táplálkozok egészségesen. j. Nem tudom, hogy egészségtelenül táplálkozok-e. k. Most nem mondok igazat. l. Nem tudom, hogy mit tudok. 24

Logikai összeköt szavak A logikai következmények a logikai szavak tulajdonságain múlnak: mik ezek? Amit már ismerünk középiskolából: Név Jel Kiolvasás konjunkció... és... diszjunkció... vagy... negáció nem igaz, hogy... implikáció ha..., akkor... ekvivalencia... akkor és csak akkor, ha... Ezekkel állításokból újabb, bonyolultabb állításokat lehet összeállítani. 25

2. feladat Propozicionálisan összetett állítások kiolvasása Olvassa ki a következ állításokat, ha P azt rövidíti, hogy x páratlan szám és Q azt rövidíti, hogy x egyjegy szám (nemnegatív egész). P (P Q) (P Q) (P Q) (P Q) ((P Q) (P Q)) (P Q) ((P Q) P ) 26

3. feladat - Propozicionális formalizálás Írja fel logikai összeköt jelekkel a következ természetes nyelvi összetett állításokat: Nem P, de Q. P lehetetlen. Nem P, se nem Q. Nem igaz, hogy akár P, akár Q igaz. Sem P, sem P ellentéte. Kizárt, hogy P és Q mind igaz. P, feltéve, hogy Q P csak akkor, ha Q. Ha P, akkor Q, de csakis akkor. Nem igaz, hogy P és Q. P -nek szükséges feltétele Q. P szükséges feltétele Q-nak Vagy P és Q, vagy nem P és nem Q. 27

4. feladat természetes nyelvi állítás tagadása 1.6. Melyik tagadása a következ állításnak? Ha az a egész szám 5-tel osztható,akkor 0-ra végz dik. a) Ha az a szám nem osztható 5-tel, akkor nem is végz dik 0-ra. b) Nem igaz, hogy az a szám nem osztható 5-tel, vagy 0-ra végz dik. c) Az a szám nem osztható 5-tel és nem is végz dik 0-ra. d) Az a szám osztható 5-tel, és mégsem végz dik 0-ra. e) Ha az a szám osztható 5-tel, akkor nem végz dik 0-ra. Formalizálja az állításokat! Logikai értéktáblázattal ellen rizze döntését! 28

5. feladat természetes nyelvi állítás tagadása Keresse meg a Nem igaz, hogy Gerg tud összeadni és osztani. állítással egyez jelentés állításokat! a) Gerg nem tud összeadni és osztani. b) Gerg tud összeadni, de osztani nem. c) Gerg nem tud összeadni vagy nem tud osztani. d) Gerg tud összeadni vagy osztani. 29

6. feladat természetes nyelvi állítás tagadása Mely állítások értelme egyezik meg a Nem igaz, hogy az ABC háromszög derékszög vagy tompaszög. állítással? a) Az ABC háromszög nem derékszög vagy nem tompaszög. b) Az ABC háromszög nem derékszög, és nem is tompaszög. c) Nem igaz, hogy az ABC háromszög derékszög és tompaszög. d) Ha az ABC háromszög nem derékszög, akkor nem is tompaszög. 30

7. feladat Propozicionális kiolvasás Jelölje I,B,J rendre a következ természetes nyelvi állításokat: I - Id t fordítok a tanulásra. B - Fel bírom fogni a tananyagot. J - Jelest kapok logikából. Olvassa ki az alábbi formulákat! a. (I J) b. (I J) c. (I J) d. (I J) e. ((I B) J) f. (J (I B) g. J ( I B) h. (I ( J B)) i. ( I B) J j. (I B) I k. I I l. (I B) (B I) m. (I B) ((B J) (I J) n. (I J) ( I J) o.(i J) ( J I) ö. I (( I J) (B (I J))) 31

8. feladat Nulladrend formalizálás Az alábbi t.ny. mondatok mindegyikének határozza meg az atomi kijelentéseit és írja le az eredeti mondatot ezekb l összeállított formulaként! a. Kati sem a zöld, sem a kék színt nem szereti. b. Ha fáradt vagy éhes vagyok, nem tudok tanulni. c. Ha fáradt vagy éhes vagyok, nem tudok tanulni, feltéve, ha nem nagyon sürg s a dolog. c1. Nem igaz, hogy nem vagyok okos. c2. Nem Endre locsolta le Cecíliát. d. Csak akkor megyek haza, ha végeztem a tanulással. e. Ha végeztem a tanulással és nincs még éjszaka, nem taxival megyek haza. f. Ha a szakszervezet vagy a vállalatvezetés makacs, a sztrájk akkor és csak akkor állítható meg, ha a kormány beavatkozik, de nem küld katonaságot az üzembe. g. Nem Endre locsolta le Cecilt, éppen fordítva. 32

Az els rend logika további logikai jelei Amint láttuk a wumpus-pédában, hasznos lehet, s t, az érdemi munkához szükséges az állítások nomabb szerkezetének vizsgálata is. A természetes nyelv eszközeinek egy sz k készletét veszzük mintának. 33

Az els rend nyelv eszköztára I. Objektumok leírására tulajdonnév: konstans (Bodri, Napóleon III. π, 0) köznév: változó (egy halmaz elemeit közelebbi meghatározás nélkül nevezi meg) (kutya, ember, él lény x, y) függvényjelekkel képzett összetett nyelvi szerkezet: függvényjelekkel képzett összetett kifejezés a függvényjel maga egy nyitott kifejezés (... apja... +... ) tulajdonsággal való leírás: deskripció (egyel re nem vesszük be a logikai eszköztárba) (az öreg király legkisebb unokája) A számítástudományban hasznosabb egyb l az ún. többtípusos objektumleírást használni, mert a legtöbb programozási nyelvben többféle alaptípus (egész, racionális, karakter, stb.) is bennefoglaltatik. A logikában a különböz típusokhoz diszjunkt változóhalmazokat rendelünk majd hozzá. 34

A wumpus-példa objektumai Milyen típusú objektumok szerepelnek? Szobák, a wumpus pozíciója, a csapda pozíciója, a kincs pozíciója, a h s pozíciója s két igen/nem érték: hogy megvan-e a nyíl és él-e még a wumpus. Egy lehetséges reprezentáció szerint az alapobjektumok 1 és 4 közötti egész számok, a többi objektumot ezen számok tulajdonságaiként fogjuk fel. A 2. sor és 3. oszlop metszetében van a wumpusz, formálisan: wumpusz(2,3), ami egy igazságértéket takar, stb. 35

Másik lehetséges reprezentáció Konstansok: wumpus, kincs, csapda, h s egy típusból és az {1, 2, 3, 4} egy másik típus tartománya ezzel az a gond, hogy a csapdák száma nem ismert! 36

Állítások leírása Egyszer, logikailag nem összetett állítások: atomi formulák Példa: Péter szereti Julit, Juli szép, x < y Ezek objektumleírásokat ún. nyitott mondatok jeleivel, predikátumjelekkel kötnek össze atomi formulákká.... szereti...... szép... <... 37

Logikailag összetett állítások Név Jel Kiolvasás konjunkció... és... diszjunkció... vagy... negáció nem igaz, hogy... implikáció ha..., akkor... ekvivalencia... akkor és csak akkor, ha... Ezeket az összeköt ket propozicionális logikai (állításlogikai, kijelentéslogikai) jeleknek nevezzük, vagy Boole-logikai jeleknek. 38

A Boole-logikai jelek jelentése) logikai ismer s középiskolából jel 39

Két új (középiskolában nem feltétlenül tanult) logikai jel Név Jel Kiolvasás univerzális kvantor x minden x-re igaz... egzisztenciális kvantor x van olyan x, amire... Itt x tetsz leges változó. A logikai jelek minden tárgykör els rend logikai megfogalmazásában ugyanazok, csak a tárgykör konstansai, függvényjelei és predikátumjelei változnak. Ezeket a tárgykör nemlogikai jelkészletének is nevezzük. 40

A természetes számok tárgyköre Egy típus van, a számok típusa változók legyenek: x,y,z,u,v és természetes számmal indexelt változataik, pl. y 312 Egy konstansjelet használunk csak, a 0-t Függvényjeleink: +,,s Predikátumjeleink: =; kimaradtak az összehasonlító relációjelek! Mivel a logikai jelek minden els rend nyelvben azonosak, így ezzel megadtuk a leírható állítások halmazát is! 41

A wumpus-példa Egy típus van, a sor- és oszlopindexek (számok) típusa A változók legyenek: x,y,z,u,v és természetes számmal indexelt változataik, pl. y 312 Konstansjelek: 1, 2, 3, 4 Függvényjeleink: s,p (növelés, csökkentés, 1-változós függvényjelek. Ennyi elég, összeadás, szorzás felesleges) Predikátumjeleink: =,<, wumpusz, kincs, csapda, aktpozicio ezek 2-változós predikátumjelek, el e a szorny, van e nyil ezek 0-változós predikátumjelek, csak változóktól függetlenül igazak/hamisak lehetnek. 42

A témakörhöz alkotott els rend nyelv meghatározása az informatikai modellezés els, alapvet lépése Az objektumok szerkezetét, összefüggéseinek struktúráját adjuk ezzel meg. Már itt el lehet rontani: pl. ha a csapdákat csak egy konstansjellel ábrázoltuk volna, determináltuk volna a modelleinket úgy, hogy csak egy csapdát tartalmazhat a pálya. 43

Példa: els rend nyelv az emberek viszonyainak leírására Legyen EmbV iszony egy olyan nyelv, amiben x, y, z,... egyetlen típusú változók, apa(x), anya(x) függvényjelek, c, ÉN konstansjelek, (x=y), ifjabb(x,y), szereti(x,y), tiszteli(x,y), n (x), öreg(x), gazdag(x), házastarsa(x,y) predikátumjelek. A nyelv értelmezése mindenki számára nyilvánvaló, ha hozzátesszük, hogy a ma vagy valaha élt emberek halmaza lesz az objektumtartomány. Mi a helyzet az apa függvénnyel? Van els ember? Megint a nyelv választása már fontos dolgokat meghatároz! A függvényekkel csínján kell bánni: minden bemen értékre egyértelm értéket kell produkálnia a függvényjel értelmezésének. 44

SZINTAXIS 45

Az els rend nyelv deníciója 1. deníció: Minden els rend nyelv megadható < Srt, Cnst, F n, P r > rendezett 4-es alakjában, 1. Srt nemüres ábécé, elemei típusokat szimbolizálnak, és minden típushoz egyben Srt megad a megfelel típushoz rendelt változók végtelen, felsorolható halmazát. 2. Cnst a konstansszimbólumok halmaza, minden konstansjelhez Cnst egyben hozzárendel egy típust is. 3. F n halmaz elemei függvényszimbólumok, minden függvényjelhez F n egyben hozzárendel egy típust is. 4. P r nemüres halmaz, elemei predikátumszimbólumok, minden predikátumjelhez P r egyben hozzárendel egy típust is. Srt nemüres, mert legalább egy objektumtípusnak lennie kell, és P r sem üres, mert a nem összetett állítások felírásához legalább egy szükséges. F n és Cnst lehet üres. Az els rend nyelvnek ez a jelkészlete, idegen szóval szignatúrája. Ahányféle jelkészletet választhatunk, annyiféle els rend nyelvet deniálhatunk. A pontos deníciót lásd a PVK-VM könyv 111. oldalán ( lsd. kötelez irodalom) 46

A hozzárendelt típusok Bármely konstanshoz egyetlen típust rendel hozzá Cnst. A függvényjelekhez F n egy pozitív természetes számot (változószám) rendel, és a megadott számnyi hosszúságú listáját típusoknak (az egyes argumentumok típusát), végül még egyetlen típust, a függvény kimen értékének típusát. A predikátumjelek esete annyiban különbözik, hogy ott a kimen érték típusát nem kell megadnia P r-nek, mert az minden esetben a logikai igaz/hamis lesz. Tehát minden predikátumjelhez P r egy természetes számot (változószám) rendel (nincs kikötve, hogy pozitív, tehát lehet 0 is!),valamint a megadott számnyi hosszúságú listáját típusoknak (az egyes argumentumok típusát). 47

Példa: az EmbViszony nyelv, mint els rend jelkészlet A nyelvben x, y, z,... egyetlen típusú változók lesznek, a típus neve legyen e. Bármely konstanshoz egyetlen típust rendel hozzá Cnst. { c, ÉN } a konstansjelek halmaza, mindkett típusa e. A függvényjelekhez F n egy természetes számot (változószám) rendel, és a megadott számnyi hosszúságú listáját típusoknak (az egyes argumentumok típusát), végül még egyetlen típust, a függvény kimen értékének típusát. Kételem a függvényjelek halmaza, {apa, anya}, mindkett típusa (e e) Minden predikátumjelhez P r egy természetes számot (változószám) rendel, valamint a megadott számnyi hosszúságú listáját típusoknak (az egyes argumentumok típusát). {(x=y), ifjabb(x,y), szereti(x,y), tiszteli(x,y), n (x), öreg(x), gazdag(x), házastarsa(x,y)} a predikátumjelek halmaza, ahol (x,y)-et írtunk a jel után, azt jeleztük, hogy 2-argumentumú predikátumjelr l van szó, (e,e)típussal, ahol (x)-et írtunk a jel után, azt jeleztük, hogy 1-argumentumú predikátumjelr l van szó, (e)típussal. Ahol a predikátumjelet középre írtuk ( x=y ), ott úgynevezett inx írásmódot használunk, a többinél prex írásmódot. 48

Példa: az EmbViszony nyelv formális leírása A nyelvben x, y, z,... egyetlen típusú változók lesznek, a típus neve legyen e. Bármely konstanshoz egyetlen típust rendel hozzá Cnst. { c, ÉN } a konstansjelek halmaza, mindkett típusa e. Kételem a függvényjelek halmaza, {apa, anya}, mindkett típusa (e e) Minden predikátumjelhez P r egy természetes számot (változószám) rendel, valamint a megadott számnyi hosszúságú listáját típusoknak (az egyes argumentumok típusát). {(x=y), ifjabb(x,y), szereti(x,y), tiszteli(x,y), n (x), öreg(x), gazdag(x), házastarsa(x,y)} a predikátumjelek halmaza. Ezt a nyelvet formálisan a következ képp fogjuk leírni: < {e (x,y,z,...) }, {c (e), EN (e) }, {apa (e e), anya (e e) }, {= (e,e),infix, ifjabb (e,e), szereti (e,e), tiszteli (e,e), no (e), oreg (e), gazdag (e), hazastarsa (e,e) } > Ez az írásmód még az olvasónak kedvez, nem egy az egyben vihet át programozási nyelv adatszerkezetévé. De könnyen megtehet. 49

Kifejezések (term-ek) 2. deníció: Egy < Srt, Cnst, F n, P r > els rend jelkészlet feletti egyszer term-ek a változók és a konstansok. Típusuk a jelkészletben megadott. Az összetett term-ek f(t 1,..., t n ) alakúak, ahol f egy F n-beli függvényjel valamilyen (π 1,..., π n π) típussal, és t 1,..., t n már meglév term-ek, rendre π 1,..., π n típussal. Ekkor az új term π típusú lesz. Term-ek az egyszer term-ekb l az összetétel szabályának véges számú alkalmazásával el álló jelsorozatok. Megjegyzés: Ezen jelsorozatok ábécéje a jelkészlet ábécéje, kib vítve a '(', ')', ',' karakterekkel. 1. állítás: A termek halmaza a kib vített jelkészlet, mint ábécé feletti szavak azon legsz kebb halmaza, amely tartalmazza a változókat és a konstansokat, és zárt a típushelyes összetételre (azaz ahogy fentebb megadtuk). 50

Példa Az EmbViszony nyelv egyszer termjei ÉN, c, x, y, z,... míg összetett termjei pl.: apa(x), apa(n), anya(y), anya(apa(c)), stb. A nyelv ez volt: < {e (x,y,z,...) }, {c (e), EN (e) }, {apa (e e), anya (e e) }, {= (e,e),infix, ifjabb (e,e), szereti (e,e), tiszteli (e,e), no (e), oreg (e), gazdag (e), hazastarsa (e,e) } > 51

Példa az aritmetika Ar nyelvének term-jeire Az Ar nyelv egyszer termjei 0, x, y, z, u, v, w... és a változók indexelt verziói. Összetett termjei pl.: (x + y), s0, (x (y + s0)), ((x 12 (y + s0)) + (y 3 sy)), stb. Az Ar nyelv ez volt: < {sz (x,y,z,u,v,w,x 1,...) }, {0 (sz) }, {+ (sz,sz sz),infix, s (sz sz), (sz,sz sz),infix }, {= (sz,sz),infix } > 52

Szintaktikai fogalmak a termekr l 3. deníció: Egy egyszer termnek nincsenek közvetlen résztermjei. Az összetett f(t 1,..., t n ) term közvetlen résztermjei a t 1,..., t n termek. Egy term résztermjei: önmaga, közvetlen résztermjei és a közvetlen résztermjeinek résztermei. Pontosabban megfogalmazva: Egy adott term résztermjeinek a halmazát úgy deniáljuk, mint a jelsorozatok azon legsz kebb részhalmazát, ami tartalmazza a termet magát, közvetlen résztermjeit, valamint igaz az rá, hogy ha egy termet tartalmaz, akkor annak összes közvetlen résztermjét is tartalmazza. Változókat használva az értelmezés megkönnyítésére: Egy t term résztermjeinek a halmazát úgy deniáljuk, mint a jelsorozatok azon legsz kebb részhalmazát, ami tartalmazza t-t, t közvetlen résztermjeit, valamint igaz az rá, hogy ha egy s termet tartalmaz, akkor s összes közvetlen résztermjét is tartalmazza. 53

A szerkezeti indukció elve termekre 2. állítás: Ha T jelsorozatok egy tulajdonsága, és 1. minden c Cnst teljesíti T -t 2. minden v változó teljesíti T -t 3. valahányszor, amikor t 1,..., t n termek mindegyike teljesíti T - t, ezen termek típusa rendre π 1,..., π n és f (π 1,...,π n π) F n, annyiszor f(t 1,..., t n ) is teljesíti a T tulajdonságot akkor minden term teljesíti a T tulajdonságot. Megjegyzés: A teljes indukció elvének felel meg fa szerkezet adatokon. 54

Példa szerkezeti indukcióval igazolt állításra 3. állítás: a) Minden term ugyanannyi kezd, mint csukó zárójelet tartalmaz. b) Bármely term, mint jelsorozat bármely kezd szelete legalább annyi nyitó zárójelet tartalmaz, mint csukót. c) Bármely t termre igaz: vagy változó, vagy konstans, vagy léteznek olyan t 1,..., t n termek, rendre π 1,..., π n típussal és létezik olyan f (π 1,...,π n π) F n, amire t = f(t 1,..., t n ). (A termek egyértelm elemzésének tétele) 55

A term szerkezeti fája Emlékeztet : Rendezett fa: összefügg és körmentes irányított gráf. Véges fának létezik egy egyértelm gyökere, annak nincs se, minden egyéb csúcsnak van egy egyértelm szül je, amely csúcsnak nincs gyermeke, úgy nevezzük, levél. (((2+2)+(2+2))+(3+3)) 4. deníció: Egy term szerkezeti fája egy olyan véges rendezett fa, amelynek gyökerében maga a term áll, s minden csúcspontjában egy term áll. Ha egy csúcsban az f(t 1,..., t n ) összetett term áll, akkor a csúcsnak pont n darab gyereke van, amiben éppen t 1,..., t n állanak. Ha egy csúcsban egyszer term áll, akkor az levél. 4. állítás: Minden termhez egyértelm en rendelhet egy kifejezésfa (kölcsönösen egyértelm leképezés). Itt még a gyermekek sorrendjét is megemlíthetnénk, a pontosság kedvéért. 56

Termek szerkezeti rekurziójáról szóló állítás Lehetséges úgy deniálni egy termeket illet fogalmat, hogy a fogalmat direkt meghatározzuk az egyszer termeken, míg az f(t 1,..., t n ) összetett termre vonatkozó fogalmat a t 1,..., t n termekre vonatkozó hasonló fogalmak segítségével építünk fel. 57

Példa szerkezeti rekurzióval deniált fogalmakra rthz(t) := { {t} ha t egyszer {t} rthz(t 1 )... rthz(t n ) ha t = f(t 1,..., t n ) összetett term fo(t) := { 0 ha t egyszer 1 + max{fo(t i ) t i résztermje t-nek} ha t összetett Megjegyzés: f o(t) egy számot ír le, mégpedig a függvényalkalmazások egymásbaágyazásának t-béli maximális értékét. ( A leghosszabb ág hossza a szerkezeti fában a gyökért l számítva.) Úgy hívjuk, hogy funkcionális összetettség. 58

Kifejezések II. (formulák) 5. deníció: Egy < Srt, Cnst, F n, P r > els rend jelkészlet feletti atomi formulák P (t 1,..., t n ) alakúak, ahol P egy P r-beli predikátumjel valamilyen (π 1,..., π n ) típussal, és t 1,..., t n már meglév term-ek, rendre π 1,..., π n típussal. Bármely A, B formulákra és v változóra formula a következ jelsorozatok bármelyike: (A B), (A B), (A B), (A B), B, va, va. Ezeket nevezzük logikailag összetett formuláknak. Formulák az atomi formulákból a logikai összetételek véges számú alkalmazásával el álló jelsorozatok. Megjegyzés: Ezen jelsorozatok ábécéje a jelkészlet ábécéje, kib vítve a '(', ')', ',' ' ', ' ', ' ', ', ' ', ' ',' ' karakterekkel. 5. állítás: A formulák halmaza a kib vített jelkészlet, mint ábécé feletti szavak azon legsz kebb halmaza, amely tartalmazza az atomi formulákat, és zárt a logikai összetételre (azaz ahogy fentebb megadtuk). 59

Példa Az EmbViszony nyelv atomi formulái pl. szereti(en,en), szereti(en,anyja(x)), no(anyja(apja(y))), szereti(apja(x),anyja(y))... míg összetett formulái pl.: ( szereti(x, y) szereti(x, anyja(y))), x szereti(x, anyja(x)), ( x y szereti(y, x) x y szereti(anyja(y), apja(x))) stb. Az illet nyelv ez volt: < {e (x,y,z,...) }, {c (e), EN e }, {apa (e e), anya (e e) }, {= (e,e),infix, ifjabb (e,e), szereti (e,e), tiszteli (e,e), no (e), oreg (e), gazdag (e), hazastarsa (e,e) } > 60

Példa az aritmetika Ar nyelvének formuláira Az Ar nyelv atomi formulái (0 = s0), (x = (ssss0 + s0)), (sy = sx),... Összetett formulái pl.: x((x + x) = 0), ((s0 = x) (s0 = x)), x y (((x (y + s0)) = sss0) (x = y)), stb. Az Ar nyelv ez volt: < {sz (x,y,z,u,v,w,x 1,...) }, {0 (sz) }, {+ (sz,sz sz),infix, s (sz sz), (sz,sz sz),infix }, {= (sz,sz),infix } > 61

6. deníció: Szintaktikai fogalmak a formulákról Az atomi formuláknak nincsenek közvetlen részformulái. Az összetett (A B) formula közvetlen részformulái épp az A és B formulák. Az összetett (A B) formula közvetlen részformulái épp az A és B formulák. Az összetett (A B) formula közvetlen részformulái épp az A és B formulák. Az összetett (A B) formula közvetlen részformulái épp az A és B formulák. Az összetett va formula közvetlen részformulája az egyetlen A formula. Az összetett va formula közvetlen részformulája az egyetlen A formula. 7. deníció: Egy adott formula részformuláinak a halmazát úgy deniáljuk, mint a jelsorozatok azon legsz kebb részhalmazát, ami tartalmazza a formulát magát, közvetlen részformuláit, valamint igaz az rá, hogy ha egy formulát tartalmaz, akkor annak összes közvetlen részformuláját is tartalmazza. 62

A szerkezeti indukció elve formulákra 6. állítás: Ha T jelsorozatok egy tulajdonsága, és 1. minden atomi formula teljesíti T -t 2. mindahányszor, amikor A és B formulák teljesítik T -t és v egy változó, akkor (A B), (A B), (A B), (A B), B, va, va is teljesíti T -t akkor minden formula teljesíti a T tulajdonságot. Megjegyzés: A teljes indukció elvének felel meg fa szerkezet adatokon. (Teljes felszállás a szerkezeti fán... ) 63

7. állítás: Példa szerkezeti indukcióval igazolt állításra a) Minden formula ugyanannyi kezd, mint csukó zárójelet tartalmaz. b) Bármely formula, mint jelsorozat bármely kezd szelete legalább annyi nyitó zárójelet tartalmaz, mint csukót. c) Bármely A formulára igaz: vagy A atomi formula, vagy egyértelm en léteznek olyan B és C formulák, amelyekre A = B C, vagy egyértelm en léteznek olyan B és C formulák, amelyekre A = B C, vagy egyértelm en léteznek olyan B és C formulák, amelyekre A = B C, vagy egyértelm en léteznek olyan B és C formulák, amelyekre A = B C, vagy egyértelm en létezik olyan B formula, amelyre A = B, vagy egyértelm en létezik olyan B formula és v változó, amire A = v B, vagy egyértelm en létezik olyan B formula és v változó, amire A = v B. (A formulák egyértelm elemzésének tétele) 64

A formula szerkezeti fájáról 8. deníció: Egy fa szerkezeti fája egy olyan véges rendezett fa, amelynek gyökerében maga a formula áll, s minden csúcspontjában egy formula áll. Ha egy csúcsban az A B összetett formula áll, akkor a csúcsnak pont 2 darab gyereke van, amiben éppen A és B állanak. Ha egy csúcsban atomi formula áll, akkor az levél. Itt még a gyermekek sorrendjét is megemlíthetnénk, a pontosság kedvéért. 8. állítás: Megjegyzés: Minden termhez egyértelm en rendelhet egy szerkezeti fa (kölcsönösen egyértelm leképezés). 65

Formulák szerkezeti rekurziójáról szóló állítás Lehetséges úgy deniálni egy, a formulákat érint fogalmat, hogy a fogalmat direkt meghatározzuk az atomi formulák esetére, míg az összetett formulára vonatkozó fogalmat a fogalomnak a közvetlen részformulákra vonatkozó hasonló fogalmak segítségével adjuk meg. 66

rf(t) := Példa szerkezeti rekurzióval deniált fogalmakra, formulák esetén {A} {A} rf(b) rf(c) {A} rf(b) ha A atomi ha A-nak épp B és C a két közvetlen részformulája ha A-nak épp B az egyetlen közvetlen részformulája lo(t) := { 0 ha A atomi formula 1 + max({lo(b), lo(c)}) ha A-nak épp B és C a két közvetlen részformulája 1 + lo(b) ha A-nak az egyetlen közvetlen részformulája éppen B Megjegyzés: lo(a) egy számot ír le, mégpedig a logikai összeköt jelek alkalmazásai egymásbaágyazásának A-béli maximális értékét. ( A leghoszszabb ág hossza a szerkezeti fában a gyökért l számítva.) Úgy hívjuk, hogy logikai összetettség. rt(a) pedig az A formula összes részformuláinak halmazát adja meg. 67

Zárójelelhagyási megállapodások A könnyebb olvashatóság kedvéért, amikor emberi kommunikáció során formulákat, termeket írunk, a rengeteg zárójelpár közül néhányat elhagyhatunk. A következ megállapodások betartásával a rövidített verzióból egyértelm en visszaállítható az eredeti kifejezés. 1. Kifejezés küls zárójelpárját elhagyhatjuk 2. Megállapítunk egy precedenciasorrendet : a leger sebbek a függvényjelek aztán a predikátumjelek aztán a, és a következik (ezek hárman egyforma er sek) és * amelyik er sebb, az köt er sebben 3. Azonos precedenciájú jelek közül a baloldali lesz az er sebb 68

9. feladat Milyen volt az ítéletlogikai formula zárójelelhagyás el tt? a. A B C A A b. A B ( C B A) B c. (A B A A B B) A 69

10. feladat Részformulája-e az alábbi formula A B (A B C)-nek? a. A B b. A B c. B d. A B Sorolja fel a fenti formula összes részformuláját! 70

11. feladat Legyen L12 nyelv: < {t1 (x,y,z,...), t2 (α,β,γ,...) }, {c1 (t1), c2 (t2) }, {f (t1 t1), g (t2 t1), h (t2,t1 t1), i (t2 t2) }, {P (t1), Q (t1,t2), R (t2,t2) }, S (t2) >. L12 nyelv formulája-e a következ jelsorozat ( zárójelelhagyási szabályokat megengedve)? a. P (α) b. P (x) c. S(α, β) d. R(α β) e. S(α) P (y) S(x, y, x) f. (S(α) P (y)) g. Q(c1, c2) Q(P (x), c2) h. Q(c2, c1) Q(c1, c1) i. f(x) j. P (f(f(x))) k. P (Q(x, α)) L12 nyelvnek termje-e a következ jelsorozat? Ha igen, mi a típusa, mik a változói és mi a funkcionális összetettsége? a. x b. f(x) c. g(x) d. f(g(c2)) e. g(f(g(c2))) f. g(f(g(c1))) g. f(g(f(c2))) h. h(i(α), h(c2, x)) i. h(i(i(c2)), h(c2, g(c2))) 71

12. feladat Legyen Geom nyelv a következ : < {p (A,B,C,...), e (e,f,g,...), s (a,b,c,...) },,, { (p,e),infix 1, (p,s),infix 2, = (p,p),infix } >. Geom nyelv formulája-e a következ jelsorozat ( zárójelelhagyási szabályokat nem megengedve)? a. A 1 e b. (e 1 A) c. (A 1 e) d. (A 2 e) e. (A 1 A) f. (A 2 a) g. (A 1 e) (B 2 e) h. ((A 1 e) (B 2 e)) i. ((A 1 e) (B 2 a)) j. A( (A 1 e)) k. B (A 1 e) l. A B(A 1 e) m. A A(A 1 e) n. A(B 1 f) 72

13. feladat Adjunk meg olyan els rend nyelvet (jelkészletet), amelynek formulája lehet a következ jelsorozat! a. P (x) b. P (x) Q(y, f(x, y)) c. Q(R(α, x), y) d. αf(α) Innent l kezdve, ha nem adom meg, hogy mely nyelv termjeir l és formuláiról van szó, akkor úgy kezd dik a feladat, hogy meg kell határozni egy alkalmas nyelvet! 73

14. feladat Írjuk fel az alábbi L12-formulák teljes zárójeles alakját! Mik az egyes formulák részformulái? Mennyi a logikai összetettségük? a. Q(f(g(c2)), c2) b. x Q(x, β) c. x Q(x, β) α R(α, β) d. P (c1) S(α) S(α) S(β) P (x) P (y) 74

szv(t) := szv(a) := Termek és formulák szabad és kötött változó-el fordulásai {t} ha t változó ha t konstansjel szv(t 1 )... szv(t n ) ha t = f(t 1,..., t n ) szv(t 1 )... szv(t n ) ha A = P (t 1,..., t n ) atomi szv(a) szv(b) ha A = B C, A = B C, A = B C vagy A = B C szv(a) ha A = B szv(b) \ {v} ha A = v B vagy A = v B 9. deníció: Kvantornak nevezzük a -t és a -et. Kvantor hatásköre egy formulában: az a részformula, amire rátettük a formula szerkezeti fájának konstrukciójakor. Kötött változóel fordulás: ami olyan kvantor hatáskörébe esik, ami épp arra a változóra vonatkozik. Szabad változóel fordulás: Ami nem kötött. Formula szabad változói: azon változók halmaza, aminek van a formulában szabad el fordulása. Más néven: formula paraméterei. 9. állítás: szv(a) minden A formula esetén épp A szabad változóinak halmaza. Bizonyítás: szerkezeti indukcióval 75

15. feladat Tekintsük a következ L12-formulákat! Mik a szerepl kvantorok hatáskörei? Mik az egyes formulákban el forduló szabad változók? a. x Q(x, β) α R(α, β) b. P (c1) S(α) S(α) S(β) P (x) P (y) c. x( xp (x) Q(x, c2)) d. x( α(q(x, α) S(β)) y(p (y) α βq(y, α) R(β, α))) e. x( α(q(x, α) S(β)) y(p (y) α β(q(y, α) R(β, α)))) 76

16. feladat Írjuk fel az alábbi Geom-formulák teljes zárójeles alakját! Mik a szerepl kvantorok hatáskörei? Mik a szabad változók? a. A 1 e b. A = B B 1 e c. A = B C C = A d. A (A 2 a e A 1 e B 2 a) e. e ( A A 1 e B B 2 a) A = B 77

17. feladat Írjuk fel az alábbi Ar-formulák teljes zárójeles alakját! Mik a szerepl kvantorok hatáskörei? Mik az egyes formulákban el forduló szabad változók? Használjuk azt az információt, hogy a precedenciában leger sebbek a függvényjelek, aztán a predikátumjelek, aztán {, },, {, },,, valamint a függvényjeleken belül is megállapítottunk egy precedenciasorrendet: itt S a leger sebb, aztán jön, végül +. a. x x Sx = y b. x y Sx = SSy c. x y Sz = y d. x y Sx = y y + z = x e. x + Sy Sz + SS0 + y z = x x Sx y = S(x y) f. x ( x Sx = Sx y x = S0) y (Sy = S0 x x = y) 78

SZEMANTIKA 79

Az els rend nyelv interpretációja intuitív módon 1. megadunk minden típushoz egy alaphalmazt, 2. a konstansokhoz a megfelel típusú alaphalmazból kijelölünk egy egyedet, 3. a függvényjelekhez megfelel típusú függvényt, 4. a predikátumjelekhez megfelel típusú relációt rendelünk. Röviden: típushelyesen értelmezzük a szóbanforgó nyelv jelkészletének elemeit. 80

Az els rend nyelv interpretációja példa Példa: Legyen L 1 nyelv: < {t1 (x,y,z,...), t2 (α,β,γ,...) }, {c1 (t1), c2 (t2) }, {f11 (t1 t1), f221 (t2,t2 t1), f212 (t2,t1 t2), f22 (t2 t2) }, {P 1 (t1), P 12 (t1,t2), P 22 (t2,t2) }, P 2 (t2) >. t1 típus változóinak értékei a természetes számok halmazából kerülhetnek ki, t2 típus változóinak értékei a magyar nyelv bet ib l és egyéb írásjeleib l alkotott jelsorozatokból kerülhetnek ki, c1 a 4-t jelölje, c2 az "aabx" jelsorozatot, f 11 minden természetes számhoz a négyzetét rendelje, f 221 bármely két szóhoz a mindkét szóban jelenlév bet k számát rendelje, f 212 egy adott w szóhoz és adott n számhoz w-nek az n hosszú kezd szeletét rendelje, ha n nem nagyobb, mint w hossza, egyébként magát w-t, míg f22 minden szóhoz a fordítottját rendelje. Ezennel értelmeztük L 1 termjeit. I P r (P 1)(n) akkor és csak akkor legyen igaz, ha n páros. I P r (P 12)(n, w) akkor és csak akkor legyen igaz, ha n kisebb, mint w hossza. I P r (P 22)(w1, w2) akkor és csak akkor legyen igaz, ha w1 rövidebb, mint w2. I P r (P 2)(w) akkor és csak akkor legyen igaz, ha w önmaga megfordítása. Mindezek megadása együtt jelenti azt, hogy megadtuk L 1 egy interpretációját. 81

Az els rend nyelv interpretációja L =< Srt, Cnst, F n, P r > nyelv egy interpretációja alatt a következ matematikai objektumot értjük: I =< I Srt, I Cnst, I F n, I P r > rendezett 4-est, ahol 1. I Srt egy olyan függvény, ami Srt minden eleméhez egy nemüres halmazt rendel, 2. I Cnst egy olyan függvény, ami Cnst minden eleméhez egy neki megfelel típusú elemet rendel, azaz, ha c (τ) Cnst, akkor I Cnst (c) eleme I Srt (τ)- nak. 3. I F n egy olyan függvény, ami F n minden függvényjeléhez egy neki megfelel típusú függvényt rendel, ami az alaphalmazok megfelel Descartes-szorzatán operál. Azaz, ha f (τ 1,...,τ τ) n F n, akkor I F n (f) egy olyan függvény lesz, ami I Srt (τ 1 )... I Srt (τ n )-b l I Srt (τ)-ba képez. 4. I Srt egy relációt rendel bármelyik predikátumjelhez. Pontosan: hap (τ 1,...,τ ) n P r, akkor I P r (P ) egy olyan függvény lesz, ami I Srt (τ 1 )... I Srt (τ n )-b l az igazságértékek {i, h} halmazába képez. I Srt (t)-t röviden t I -nek fogjuk jelölni, ha t típus. Ha c konstans, c I -vel jelöljük I Cnst (c)-t, hasonlóan, ha f függvényjel, f I -vel jelöljük I F n (f)-t és ha P predikátumjel, P I -vel jelöljük I P r (P )-t. 82

Változóértékelés Ha egy nyelvnek meg is adtuk az interpretációját, akkor a szabad változót tartalmazó formulák jelentése még mindig határozatlan: Pl. L 1 említett interpretációjában az még a paraméterek értékét l függ, hogy P (x, c) igaz lesz-e vagy hamis. Azt I megadta, hogy mit jelent P és c, de az interpretáció nem mondja meg a változók értékét. 10. deníció: Ha L nyelvnek I egy interpretációja, akkor egy I feletti változóértékelésnek egy olyan Ω függvényt nevezünk, amely értelmezési tartománya L nyelv változóinak halmaza, és értékkészlete része az I Srt képei uniójának ( a típusokhoz tartozó alaphalmazok uniója), és ha v az τ típusú változó, akkor Ω(v) I Srt (τ). 83

Értékelt termek interpretációbeli értéke t I,Ω -t fogjuk deniálni, t term I interpretációbeli értékét Ω változóértékelés mellett. 11. deníció: t I,Ω = I Cnst (t) Ω(t) ha t konstansjel ha t változó (I F n (f))( t 1 I,Ω,..., t n I,Ω ) ha t = f(t 1,..., t n ) összetett term Megjegyzés: Ez tipikus szerkezeti rekurziós deníciója a... I,Ω fogalomnak. 84

Értékelt formulák interpretációbeli igazságértéke A I,Ω -t fogjuk deniálni, A formula I interpretációbeli igazságértékét Ω változóértékelés mellett. 12. deníció: A I,Ω = (I P r (P ))( t 1 I,Ω,..., t n I,Ω ) ha A = P (t 1,..., t n ) atomi formula min{ B I,Ω, C I,Ω } ha A = B C max{ B I,Ω, C I,Ω } ha A = B C max{1 B I,Ω, C I,Ω } ha A = B C 1 ha A = B C és B I,Ω = C I,Ω 0 ha A = B C és B I,Ω C I,Ω 1 B I,Ω ha A = B min{ B I,Ω@(v d) d I Srt (τ)} ahol v egy τ típusú változó és A = vb max{ B I,Ω@(v d) d I Srt (τ)} ahol v egy τ típusú változó és A = vb ahol i-t 1-gyel és h-t 0-val tekintjük megegyez nek. Ω@(v d) a Ω leképezés egy helyen való módosítot verzióját jelenti, amely csak d-n felvett értékében különbözik az eredeti Ω-tól, és d-t vesz föl, azaz Ω@(v d)(v) = d. Megjegyzés: Ez tipikus szerkezeti rekurziós deníciója a... I,Ω fogalomnak. 85

Interpretációban igaz értékelt formula 13. deníció: Azt mondjuk, hogy I interpretációban igaz az A formula a Ω értékelés mellett, ha A I,Ω = 1. Természetesen, hamis értékelt formula az, ami nem igaz. Ezt úgy is fogjuk jelölni, hogy I = AΩ, ha nem teljesül, akkor pedig I =AΩ-t írunk. 86

Matematikai struktúra vagy modell 14. deníció: Matematikai struktúrának, vagy modellnek, vagy röviden, struktúrának nevezünk egy olyan objektumot, ami egy vagy több halmazból, és ezeken a halmazon értelmezett függvények és relációk egy sorozatából áll. Például, bármely nyelv bármely interpretációja struktúra, s t, minden struktúrához kitalálható olyan nyelv, ami alapján a nyelv interpretálható. Ezt úgy is fogjuk nevezni, hogy a struktúra az adott nyelv modellje. Például, a (Z, +, ) struktúra interpretáció egy olyan nyelv számára, ahol van egy típus, 2 darab 2-változós függvényjel és egy = nev, 2-változós predikátumjel (ez utóbbi mindig kell, ha függvényjelek vagy konstansok vannak a jelkészletben), ahol az =-nek a szokásosan kell lennie interpretálva, egyenl ségként. Megjegyzés: a diszkrét matematikában azokat a struktúrákat nevezik algebrai struktúrának, ahol más predikátumjel nincs, csak az =, és az is szokásosan van interpretálva. Ilyen értelemben mondjuk azt pl., hogy (Z, +, ) = x z y x + y = z. 87

Legyen L 1 a következ nyelv: < {t (x,y,z,...) }, {c (t), d (t) }, {f (t t), g (t,t t) }, {P (t), Q (t,t), R (t,t) } >. L 1 nyelv M interpretációját a következ kkel adjuk meg, ahol egy j jel interpretáltját j M -mel fogjuk jelölni. M Srt (t) = {0, 1, 2, 3, 4}, c M := 2, d M := 3, A halmaz minden a elemére f(a) := { a + 1, ha a < 4 0 egyébként A halmaz minden a,b elemére (g)(a, b) := a b, A halmaz bármely a,b elemeire R(a, b) := { 1, ha a + b = 3 0 egyébként P interpretációs táblázata: a P 0 1 1 0 2 0 3 1 4 0 88

Q interpretációs táblázata: Q 0 1 2 3 4 0 1 0 1 0 1 1 0 1 0 0 1 2 0 0 0 0 1 3 1 1 0 0 0 4 1 1 1 1 1 Mennyi az alábbi értékelt termek értéke? a. g(g(c, d), f(d)) ( ) x y b. g(g(x, y), f(y)) 2 3 Mely értékelt ( ) formulák igazak M-ben? x y a. R(x, y) 2 3 ( ) y z x b. R(x, y) 2 2 1 ( ) x y c. R(x, y) R(y, x) 2 1 ) ( y d. xr(x, y) 2 e. y xr(x, y) f. y xr(x, y) g. y x(r(x, y) R(y, x))

h. y xr(x, y) x yr(x, y) i. x yr(x, y) x yr(x, y) j. x( existsyq(x, y) P (x) z(r(z, z) R(z, x))) k. xr(x, f(x)) l. x y(r(f(x), f(y)) R(x, y)) Van-e olyan értékelés, ami igazzá teheti az alábbi formulákat ebben a modellben? a. xr(y, x) b. x R(y, x) c. R(y, x) R(x, y) d. R(y, x) R(x, y) e. R(g(x, x), x) f. yr(x, f(y)) g. R(x, c) yr(x, y)

Hogyan módosulnak a válaszok az el bbi feladat kérdéseire, ha az R predikátumjel fent adott interpretációja helyett mást választunk, a következ ket: a. Az alaphalmaz halmaz bármely a,b elemeire R(a, b) := b. Az alaphalmaz halmaz bármely a,b elemeire R(a, b) := c. Az alaphalmaz halmaz bármely a,b elemeire R(a, b) := { 1, ha a + b 3 0 egyébként { 1, ha a = 3 b 2 0 egyébként { 1, ha a osztja b-t 0 egyébként 89

18. feladat: Formulák igazságértéke a wumpus-világ egy modelljében 90

A wumpus-példa, ismétlés Egy típus van, a sor- és oszlopindexek (számok) típusa A változók legyenek: x,y,z,u,v és természetes számmal indexelt változataik, pl. y 312 Konstansjelek: 1, 2, 3, 4 Függvényjeleink: s,p (növelés, csökkentés, 1-változós függvényjelek. Ennyi elég, összeadás, szorzás felesleges) Predikátumjeleink: =,<, wumpusz, kincs, csapda, aktpozicio ezek 2-változós predikátumjelek, el e a szorny, van e nyil ezek 0-változós predikátumjelek, csak változóktól függetlenül igazak/hamisak lehetnek. 91

19. feladat: Formulák igazságértéke a wumpus-világ egy modelljében Ezen ábra alapján leírható a wumpusz-nyelv egy I wumpus modellje. Ebben igazak-e az alábbi formulák, a mellettük adott értékeléssel? ( ) x y a. csapda(x, y) b. x csapda(x, x)() x y csapda(x, y)() 1 2 92

20. Igazságértékek meghatározása II. A ma él emberek interpretációjában, ha R 2-változós predikátumjel, és R I (e, f) azt jelenti, hogy e szül je f-nek, akkor igaz-e? x yr(x, y) x yr(x, y) x yr(x, y) xr(x, x) x y(r(x, y) R(y, x)) x y(r(x, y) R(y, x)) x y(r(x, y) R(y, x)) x y(r(x, y) R(y, x)) x y(r(x, y) R(y, x)) x(r(x, x) yr(y, x)) x( yr(y, x) R(x, x)) x R(x, x) 93

21. Igazságértékek meghatározása III. Az egész számok körében, ha R 2-változós predikátumjel, és R I (n, m) azt jelenti, hogy n osztja m-et, akkor igaz-e? x yr(x, y) x yr(x, y) x yr(x, y) xr(x, x) x y(r(x, y) R(y, x)) x y(r(x, y) R(y, x)) x y(r(x, y) R(y, x)) x y(r(x, y) R(y, x)) x y(r(x, y) R(y, x)) x(r(x, x) yr(y, x)) x( yr(y, x) R(x, x)) x R(x, x) 94

22. feladat Adjunk olyan paramétermentes formulát, amit az egyik modell igazzá tesz, a másik hamissá: 1. (Z, +) és (N, +) 2. (Z, +) és (Z, ) 3. (Z ) és (Q, ) 4. (Q, ) és (R, ) 95

A formula igazságértéke csak a paraméter-változók értékét l függ 10. állítás: Ha két,i interpretáció feletti Ω és Φ igazságértékelés (mint függvény) felvett értéke megegyezik egy K kifejezés (term v. formula) összes paraméterén, akkor a formula két értékelés utáni igazságértéke megegyezik, azaz A I,Ω = A I,Φ teljesül minden olyan Ω és Φ változóértékelés esetén, ahol bármely v szv(a) esetén Ω(v) = Φ(v), ha K = A formula, és termekre hasonlóan. Bizonyítás: A formula szerkezete szerinti indukcióval. 96

Kvantorátjelölés egy formulában Legyen Q valamelyik kvantor. Egy QxA formulának QyB formula egylépéses kvantorátjelölt variánsa, ha B az A-ból úgy kapható meg, hogy A-ban x összes szabad el fordulását y-ra cserélem. Másféle egylépéses variánsa QxAnak nincsen. Egy (A B) formulának egylépéses variánsai pontosan a (A v B v ) alakú formulák, ahol A v az A-nak egy variánsa, míg B v meg B-nek egy variánsa (ahol lehet,,, ). hasonló módon, A egylépéses variánsai épp A egylépéses variánsainak negációi. A formulák halmazán a most deniált egylépéses variancia relációjának re- exív, tranzitív lezártja ( a legsz kebb olyan b vítése, ami reexív és tranzitív) az akárhány-lépéses variancia-reláció. Ha két formula ilyen relációban áll, úgy is mondjuk, egymás variánsai. (Könnyen belátható, hogy szimmetrikus, s t, ekvivalenciarelációról van szó az adott nyelv formuláinak halmazán.) 11. állítás: : Ugyanazon interpretáció és változóértékelés mellett, variáns formulák egyforma igazságértéket vesznek föl. Formálisan, ha A és B L nyelvnek variáns formulái, I interpretációja L-nek és Ω változóértékelés I felett, akkor A I,Ω = B I,Ω. 97

Változótisztasági lemma 15. deníció: Egy formula változótiszta, ha bármely két kvantorja különböz változókat köt, valamint nem fordul el benne ugyanazon változó szabadon is és kötötten is. 12. állítás: (változótisztasági lemma) Megadható olyan algoritmus, ami tetsz leges input formulához egy olyan variánsát konstruálja, ami változótiszta. 98

Termhelyettesítés 16. deníció: A termhelyettesítés az egy olyan Θ függvény, aminek értelmezési tartománya változók egy véges részhalmaza, értékkészlete része a termek halmazának, és ha x τ típusú változó, akkor Θ(x) pedig ugyanilyen típusú term. Ha K egy kifejezése L nyelvnek, x 1,..., x n változók és t 1,..., t n rendre azonos típusú termek, akkor ( ) x1... x K n t 1... t n KΘ-nal jelöljük azt a kifejezést, amit K-ban a változók szabad el fordulásainak Θ alapján történ szimultán átcserélésével kapunk. Ezt Θ K-ra való alkalmazása eredményének is nevezzük. Szerkezeti rekurziós deníciót lásd a PVK-VM könyv 5.1.27-es deníciójában. 99

Termhelyettesítés okozta változóütközés, megengedett helyettesítés 17. deníció: Egy Θ termhelyettesítés akkor okoz változóütközést K kifejezés számára, ha K-ban van olyan Qv 1 A kvantor, amelynek A hatáskörében el fordul wgy v 2 változó szabadon, amelyre az áll, hogy Θ(v 2 ) term szabad változói közül legalább egy szabadon el fordul A-ban. Úgy is mondjuk, hogy Θ K számára nem megengedett. 13. állítás: Termek számára minden termhelyettesítés megengedett. Kvantormentes formula számára minden helyettesítés megengedett. Ha Θ bármely változó helyére paramétermentes termet helyettesít, szintén triviálisan megengedett. 100

Állítás a megengedett helyettesítések és a szemantikai érték kapcsolatáról 14. állítás: (Termhelyettesítés utáni értékr l) a) Ha I interpr., Ω változóértékelés, t term, Θ termhelyettesítés, amiben x dom(θ), akkor tθ I,Ω = t I,Ω@(x Θ(x) I,Ω), b) Ha I interpr., Ω változóértékelés, A formula, Θ termhelyettesítés, amiben {x} = dom(θ) és Θ megengedett A számára akkor AΘ I,Ω = A I,Ω@(x Θ(x) I,Ω). 101

Termhelyettesítés szabályos végrehajtása 18. deníció: Ha A formula számára Θ helyettesítés nem megengedett, akkor a Θ szabályos végrehajtásának eredménye azt jelenti, hogy Θ végrehajtása el tt A formulának keresünk egy olyan B variánsát, ami számára Θ már megengedett, és BΘ lesz a szabályos végrehajtás eredménye A-n. Jelben is megkülönböztetjük ezt a m veletet, A[Θ]-val jelöljük. Megjegyzés: Igazából nem egyértelm a m velet eredménye, csak variancia erejéig. 102

23. feladat Változótiszták-e az alábbi formulák? Ha nem, tegye azzá ket! a. P (x, f(y)) y zq(x, y, z) b. Q(x) xq(y) P (y, x) c. y zr(z, y) z xr(z, x) d. y( zr(z, y) P (z)) z( xr(z, x) Q(x, f(x), y)) 103

24. feladat Megengedettek-e az alábbi helyettesítések? Hajtsuk ket végre szabályosan! a. xp (x, y) ( ) y f(z,x)) ( x y b. ( xp (x, y) yp (y, g(x))) f(x, y) g(x) ( c. ( x(p (y, x) z(r(z, ) f(y)) yr(g(w, y), x))) wp (w, x)) x y w g(w, x) f(x) g(y) d. Az x z y z w(x w y w z w) formulát rövidítsük mint lkkt(x, y, z). Mit jelent ezek után lkkt(x + y, w 2, (x + w) 2 )? ) 104