Elsőrendű nyelv

számos olyan matematikai logikai kifejezés (azaz betűsorozat) halmaza, melyekben a betűk változók (individuum- vagy szubjektumváltozók, függvényváltozók, predikátumváltozók) és logikai jelek, illetve különféle egyéb szimbólumok
Ez a közzétett változat, ellenőrizve: 2023. november 24.

Az elsőrendű nyelvek (vagy másképpen elsőrendű logikai nyelvek) fogalma a matematikai logika egyik legalapvetőbb fogalma. Ezeket és általában az n-edrendű nyelv fogalmát elsősorban annak modellelmélet nevű ága vizsgálja. Az elsőrendű nyelvek matematikai elméleteinek összefoglaló neve elsőrendű logika.

Egy elsőrendű nyelv számos olyan matematikai logikai kifejezés (azaz betűsorozat) halmaza, melyekben a betűk változók (individuum- vagy szubjektumváltozók, függvényváltozók, predikátumváltozók) és logikai jelek, illetve különféle egyéb szimbólumok. A betűk egy speciális halmazból vagy halmazrendszerből, az ábécéből kerülhetnek ki.

Az „elsőrendű” kifejezés általában egy szemantikai, de szintaktikus úton definiált tulajdonságra utal; utóbbi definíció pontatlanul a következő: a függvény- és predikátumváltozók formális argumentumai – melyek szintén változók – nem lehetnek maguk is predikátumváltozók. A pontos szemantikai leírás halmazelméleti eszközökkel tehető meg: a nyelv tehet kijelentéseket az általa vizsgált elmélet, „univerzum” elemeiről, de az elemek tetszőleges halmazáról, vagyis az univerzum hatványhalmazának elemeiről már nem.

  • A betűk egy halmaz, az ábécé különféle jelei lehetnek: például ún. individuumváltozók, fajtajelek, műveleti- / függvény- és relációjelek (vagy függvényváltozók és relációváltozók), konstansjelek – ezeken kívül mindegyik elsőrendű nyelv, ahogyan mindegyik logikai nyelv, tartalmaz legalább két logikai jelet (az egyik egy logikai művelet jele, a másik egy kvantor) és két elválasztójelet (általában a közönséges nyitó- és csukó zárójeleket).
  • A szabályok (szintaxis) megadják, hogy a szimbólumokból hogyan képezzünk olyan sorozatokat, melyeket értelmesnek, azaz a nyelv részeinek tartunk. Ezen szabályokat többféle módszerrel is megfogalmazhatjuk (mi a logikában általánosan használt és legkézenfekvőbbnek tekintett szintaktikus rekurziót alkalmazzuk, de lehetséges halmazelméleti fogalmakra és/vagy generatív nyelvtanokra, Markov-algoritmusokra vagy egyebekre is építeni).
  • Maga a nyelv, mint kifejezéseinek halmaza, a betűkből a szabályok segítségével építhető fel. A betűket és szabályokat együtt a nyelv bázisának nevezzük.

Néha az „elsőrendű” kifejezésen pedig az előző tulajdonsággal szoros kapcsolatban álló, de vele mégsem teljesen ekvivalens, szintén szintaktikai jellegű tulajdonságot értenek, tudniillik azt, hogy a nyelv tartalmaz kvantorokat (tehát több mint nulladrendű), de csak az individuumváltozók a valódi, logikai értelemben vett változók. Azaz csak ezek azok, melyek a nyelv interpretációi által sem egyértelműen meghatározott jelentésűek, vagy ami ezzel szoros kapcsolatban van, csak ezek a kvantifikálható változók; tehát a nyelv még nem másodrendű – mert másodrendű nyelvekben a függvény- és predikátumszimbólumok sem egyértelműen meghatározottak az interpretáció által, hanem kvantifikálhatóak). Az utóbbi két dolog, „interpretációfüggetlenség”/„logikaiság” és kvantifikálhatóság valóban majdnem ugyanaz, hiszen nem-logikai változók kvantifikálása a logikában valóban teljesen értelmetlen/lehetetlen, minthogy ezek egy adott interpretációban konkrét és rögzített jelentést kapnak (lásd az x. példát).

Az elsőrendűség jelentős korlátozást jelent mind a természetes nyelvekhez, a köznyelvhez, de még a matematikában az elméletek leírására általában használt formális nyelvhez képest is. Sok probléma azonban egyszerűbben, ugyanakkor még elegendő részletességgel vizsgálható így is.

Az elsőrendű nyelveknek rendkívüli szerepük volt az egész modern formalista matematika kifejlődése szempontjából (l. az elsőrendű nyelvek történetéről szóló részt). E nyelvek és általában a logikai nyelvek legközvetlenebb haszna a következtetések elméletének precíz matematikai leírása. Ezen kívül az informatikában is fontos szerepet kapnak mint alkalmazások, mivel sok programozási nyelv tulajdonképpen többé-kevésbé egy elsőrendű nyelvnek tekinthető, legalábbis tartalmaz részként ilyen nyelvet.

Bevezetés

szerkesztés

Az elsőrendű nyelvek elmélete rengeteg speciális, precízen és formálisan definiált szakkifejezést tartalmaz, melyeknek e szakaszban a szemléletes leírása és motivációi olvashatóak:

  • Egy logikai nyelvet gyakran valamilyen konkrét dolog vagy elmélet (struktúra) vizsgálatára, modellezésére használunk. Ez egy halmazrendszer, amely az elmélet által vizsgált objektumok halmazából, az univerzumból, és az e fölött értelmezett relációkból, műveletekből, függvényekből áll.
  • A logikai nyelvek kutatásának egy részterülete, a szemantika foglalkozik azzal, hogy hogyan lehet/kell egy adott nyelvet értelmezni, interpretálni.
    • Nézzük, pontosan miből is áll egy struktúra. A matematikai struktúrák tradicionálisan négy-öt fontos dolgot szoktak tartalmazni, melyek megkülönböztetik őket a többi struktúrától: 1). az univerzumot, azaz alaphalmazt; 2). az univerzum feletti különféle fontosabb halmazrendszereket („topológiai struktúra”); 3). fontosabb két- vagy többváltozós (nem egyértelmű) relációit („relációs struktúra”), egyéb 4). Az egyértelmű relációknak annyira kitüntetett szerepük van, hogy ezeket külön szoktuk venni (függvények és/vagy műveletek, „algebrai struktúra”); 5). azon kívül az univerzum bizonyos kitüntetett elemeit („konstansok”). Valójában elegendő lenne csak a relációs struktúra fogalma, mert a struktúra összes többi eleme is reláció, de megszokásból és egyéb okok miatt ragaszkodni szoktunk a fenti tipizáláshoz.
    • Ha megvan a nyelv és az általa leírt, modellezett struktúra, meg kell adni, a nyelv melyik elemének a modell melyik eleme feleljen meg. Matematikailag ez a megadás egy leképezést, függvényt jelent a fontosabb elemek között. Ezt a leképezést vagy leképezésrendszert a nyelv interpretációjának nevezzük, a struktúrát mint az interpretáció eredményét pedig a nyelv modelljének (némileg helytelenül, mivel a „modell” szó értelme szerint inkább a nyelvet kellene a struktúra modelljének nevezni).
    • Egy adott nyelv több különböző „univerzum” vagy „struktúra” leírására is alkalmas lehet, azaz persze többféleképp interpretálható (ennek feltételeit az ún. szintaxis részeként pontosan meg lehet adni (lentebb).
    • A fentieknek megfelelően a nyelv egy struktúra minden fontosabb eleméhez szimbólumokat rendel. Az univerzum elemeinek megnevezésére az individuumváltozók, a relációk megnevezésére a relációjelek vagy predikátumszimbólumok vagy predikátumváltozók, a műveletek/függvények megnevezésére a függvényjelek vagy függvényváltozók, a konstansok megnevezésére a konstansjelek, az univerzum egy adott halmazrendszerének megnevezésére a fajtajelek szolgálnak.
    • Még egy megkülönböztetést kell tennünk; ugyanis a „változó” kifejezést a logikában egy kicsit szűkebb értelemben használjuk, mint a matematikában. A matematikában egy nyelv változója olyan nyelvi szimbólum, mely többféleképp interpretálható. Ebben az értelemben a logikai nyelvek bármely szimbóluma („nem-logikai”) változó. Azonban „logikai (értelemben vett) változónak” csak akkor nevezhetünk egy szimbólumot, ha egy adott, rögzített interpretációban is többféle értéket vehet fel. Ebben az értelemben az elsőrendű nyelvekben csak az individuumjelek számítanak változónak.
    • Vegyük észre, hogy „az interpretáció kivisz minket a nyelvből”: az interpretált szimbólumok már nem részei az adott logikai nyelvnek. E szempontból egy logikai nyelv bármely szimbóluma – az ún. logikai összekötőjeleket leszámítva, melyek halmazát később  -lel fogjuk jelölni – értelmetlennek nevezhető (más szempontból azonban nem, hogy ti. a szimbólumok interpretálhatóak, tehát lehet hozzájuk jelentést tulajdonítani – csakhogy a jelentés már kívül van a nyelven).
    • Megjegyzés: a dolog nem mindig jelenti a logikai nyelv kifejezőerejének semmisségét (néhány fontos nyelvben – például a halmazelméletet leíró elsőrendű nyelvben a konstansszimbólumok segítenek ezen). Gyakran előfordul például, hogy úgy választjuk meg őket, hogy a konstans- és függvényszimbólumokból képezett kifejezések segítségével a nyelv által leírt struktúrák univerzumának minden eleme előálljon. Ilyen esetben tulajdonképp a nyelv szavainak interpretálatlanul is értelmet tulajdoníthatunk. Azonban ilyen kitüntetett konstans elemek sok nyelvben nem léteznek (például a háromdimenziós euklideszi geometriát leíró elsőrendű nyelvben a pontok közt nincs kitüntetett), így ez a követelmény nem építhető a matematikai definícióba.
  • Szintaxis: A nyelv szimbólumaiból bizonyos előírások alapján (szintaxis) sorozatokat („jól képzett szavakat”) képezhetünk. Mivel egy interpretáció minden elemnek egy struktúra valamely elemét felelteti meg, ezért egy szimbólumsorozatnak is a struktúra valamely eleme: univerzumelem, vagy függvény, vagy ezekről szóló állítás felel meg. A nyelv szavai különféle szintaktikai és szemantikai osztályokba (termek, formulák, prímformulák, formulamagok stb.) tartozhatnak, azaz különféle előírt alakúak és jelentésűek lehetnek, és elsősorban az ilyesfajta megkülönböztetésekről szól e nyelvek elmélete.
    • Hangsúlyozni kell tehát, hogy az elsőrendű nyelv valójában nem pusztán szimbólumhalmazból álló formális nyelv, hanem van szintaxisa és szemantikája is. Azonban, ahogy az látható is lesz lentebb, ezt a matematikai definícióba – különféle okok miatt – nem minden szerző szokta beleépíteni, ami viszont bizonyos hiányt okoz. Ennek betöltésére két megoldás is elképzelhető:
  1. úgy fogjuk fel a dolgot, hogy a szintaktikai és szemantikai előírások megalapozásával nem a logikai nyelvelmélet, hanem egyrészt a filozófia, másrészt, a matematikán és matematikai logikán belül, a kijelentésfüggvények elmélete foglalkozik (ez egy nagyon egyszerű, kombinatorikus jellegű elmélet, a matematikai logikai tankönyveknek mindig az első, bevezető fejezete szokott lenni).
  2. a fenti elmélet egy lebutított változatát a nyelv szintaxisa c. fejezetben közöljük.
  • Mi ennek az egésznek az értelme? Az elsőrendű nyelvek, és a matematikai logikai nyelvek általában, abban különböznek a többi formális nyelvtől, illetve az az egyik elsődleges motivációjuk, hogy néhány kitüntetett művelet segítségével a következtetés fogalmának matematikai leírására alkalmasak.

A fogalom pontosabb (vagy, a fentieket is figyelembe véve, inkább formálisabb) leírása lentebb olvasható.

Valamely   ábécé feletti elsőrendű nyelvbázis (teljes nevén többfajtájú elsőrendű logikai nyelvbázis) olyan   kéttagú halmazrendszer, ahol

  •   különféle fajtájú szimbólumokból álló halmazrendszer, az ábécé;
    • Az Sr, C, F, P, elemei ún. nemlogikai jelek, ezek nyelvről nyelvre változnak;
    • a V, L, Z elemei az ún. logikai jelek, ezek minden elsőrendű nyelvben lényegében ugyanazok.
  •   is (kéttagú) halmazrendszer, mely a nyelv „szerkezetét” írja le, s melyet a nyelv(bázis) szintaktikai részének, vagy a nyelv szintaxisának nevezünk. Tagjai:
    •   a nyelv(bázis) szignatúrája; ami megadja, az ábécé elemei formálisan hány változósak és a változók milyen fajtájúak – mellesleg a szignatúra maga is egy halmazrendszer (függvényrendszer);
    •   pedig valamilyen formában adott formális szabályok halmaza. Ezek precíz formában, formális módszerekkel is megadhatóak, de meg szoktunk elégedni a matematikai szakkifejezésekkel bővített köznyelven való megfogalmazásukkal is, ha ez elvben formálissá tehető.

Az ábécé, mint halmazrendszer összes betűinek halmaza épp  . Az ezen ábécé felett elvileg felírható szavakat az utóbbi unióhalmaz elemeiből képezett összes véges sorozattal azonosítjuk, vagyis a   ábécé feletti összes szó halmaza legyen  . A szintaxis azt adja meg, hogy ez utóbbi halmazból melyek azok a szavak, melyeket értelmesnek, jól képzettnek (well-formed) tekintünk, és hogy kell ezeket jól képezni; míg a szemantika vizsgálja, hogy ha már értelmesek, akkor mi lehet, mi legyen az értelmük.

Egy formális nyelv felépítését lehetővé tévő elemek összességére, ami nálunk a   elemhármast jelenti, Ruzsa Imre filozófus vezette be a nyelvbázis fogalmát (bár az ő definíciója eltér az ittenitől, ennél bővebb, pontosabb). Más szerzők is definiálnak hasonló fogalmakat, csak jelkészletnek nevezik (a jelkészletbe nem szokás beleérteni a szintaktikai szabályokat, csak az ábécét és a szignatúrát – így e fogalom sokkal egyszerűbb, de épp azért, mert a szintaxis egy része „elsikkad”).

Az ábécé

szerkesztés

  halmazrendszer, ahol

  •   a fajtajelek (sort = fajta),
  •   a konstansjelek,
  •   a műveleti- vagy függvényjelek,
  •   a relációjelek vagy predikátumszimbólumok halmaza, ha  , azaz individuum-egyenlőségi reláció eleme a predikátumszimbólumoknak); akkor egyenlőségjeles elsőrendű nyelvről beszélünk. E négy halmaz tartalmazza a nemlogikai jeleket; továbbá vannak logikai jelek is, három halmazt alkotnak:
  •   a változók (-jelek),
  •   a (logikai) összekötőjelek (vagy logikai függvényjelek, logikai műveleti jelek);
  •   a zárójelek és kiegészítő jelek (vessző) halmaza – a legtöbb szerzőnél Z = { , , ( , ) }.
  • Ha  , egyfajtájú, egyébként többfajtájú nyelvről beszélünk (egyfajtájú a legtöbb matematikai diszciplína leírására használt nyelv, többfajtájú a geometria nyelve, mert a változók többféle halmazból – pontok, egyenesek, síkok, esetleg terek, hipersíkok stb. – vehetnek fel értékeket). Sok szerző nem is szokta az egyfajtájú/többfajtájú megkülönböztetést véghez vinni, hanem csak egyfajtájú nyelveket vizsgál.
  • Változójelekből megszámlálhatóan végtelen sok van:  , ezeket néha az   betűkkel is jelöljük az egyszerűség kedvéért. A változójelek csak ún. individuumváltozók lehetnek, e korlátozásra utal az „elsőrendű” megjelölés.
  • Relációjelekből és függvényjelekből (ezek megkülönböztetése igazából általában fölösleges , csak a tradíció miatti) is megszámlálható (de nem feltétlenül végtelen) sok van:   és  .
  • a logikai összekötőjelek általában a következők közül kerülnek ki:  , de a vizsgálat tárgyától függően esetleg más logikai függvényjelek is megengedhetőek (arról van szó, hogy a használt szimbólumok halmaza lehetőleg funkcionálisan teljes legyen). Elsőrendű nyelvekben a   és   kvantorok azonban kötelezően szerepelnek a logikai jelek közt, és általában a   implikációjel is. A legtöbb szerző szerint  .
  • A kiegészítő jelek halmaza általában, ahogy említettük,  .

A szintaxis elemei: a szimbólumokat – röviden mondjuk úgy, hogy egymással való összekapcsolhatóságuk szempontjából – szintaktikai osztályokba soroljuk, ehhez bevezetjük a szignatúra (vagy típus stb.) fogalmát vagy valamilyen hasonló segédfogalmat. Maguk a szimbólumokból összetett kifejezések is szintaktikai – azaz betűkből való felépítésük szerinti – osztályokba sorolhatóak, az egyes osztályok felépítését a szintaktikai szabályok adják meg.

Szignatúra

szerkesztés

Fontos még a szignatúra vagy típus fogalma. Ez nagyjából olyan függvényt jelent, ami a műveleti- és relációjelekhez hozzárendeli az aritásukat, azaz azt, hogy formálisan hány változósak, és az alakjukat, azaz hogy változóik milyen fajtákba tartoznak.

  • Pontosabban a következőket mondhatjuk:
    • Minden   műveleti jelhez tartozik egy   természetes szám, a jel aritása vagy változószáma, és egy   fajta-n-es, mely megadja, hogy a műveleti jel i-edik változója   fajtájú (az  -edik fajtajel a függvényszimbólum „kimenetének”, függő változójának fajtáját adja majd meg). Összességében tehát létezik az   függvény.
    • Hasonlóan minden   relációjelhez is tartozik egy   aritási szám és egy   fajta-n-es; összességében tehát létezik az   függvény.
    • A   konstansok mindegyikéhez egy   fajtába tartozik; összességében tehát létezik az   függvény.
  • Ennyit az aritási függvényekről. Meg kell adnunk azonban nemcsak a változók számát, hanem azok fajtáit is:
    • Mivel az   függvények bizonyos rendezett párok halmazai, vehetjük ezek unióját. Nem nehéz belátni, hogy a három függvény értelmezési tartományainak páronkénti diszjunktsága miatt (ezt az alapkövetelményt az ábécé leírásánál említettük) a függvények uniója is függvény lesz, értelmezési tartománya a három függvény értelmezési tartományának uniója. A   uniófüggvényt nevezhetjük a nyelv(bázis) szignatúrájának (vagy típusának, fajtájának stb.).
    • Nevezhetjük szignatúrának a   függvényhármast is. Az utóbbit tesszük, mert a konkrét nyelvekre egyszerűbb és átláthatóbb külön-külön megadni a szignatúrát (például táblázattal), mint unió alakban.
    • A szignatúra úgy is megadható, hogy rendre felsoroljuk az ábécé jeleit: konstans-, függvény- és predikátumszimbólumokat, ez egy rendezett (esetleg végtelen sok tagú) elem-sokaság, azután minden kérdéses szimbólum fajtáját/alakját is hasonló rendezett elem-sokaságként adjuk meg, az első rendszerben az i-edik szimbólum alakját a második rendszerben az i-edik elem adja meg. Ezt a formát, melyet ha jól megnézünk, nem különbözik lényegesen az uniófüggvényként való megadástól, a nyelv típusának szokás nevezni.

Megjegyzés : Ha a szignatúra, például mint a szimbólumokhoz rendelt fajta-n-esek rendszere adott, akkor ezzel együtt az aritási függvények is adottak, hiszen ha minden szimbólumhoz hozzá van rendelve egy fajta-n-es, a szimbólum típusa, akkor a fajta-n-es tagszáma (ha a szimbólum relációjel) vagy ennél eggyel kevesebb (ha a szimbólum függvényjel) épp a szimbólum aritása; tehát az aritási függvény(ek) „benne van(nak)” a szignatúrában, így felesleges rájuk külön tekintettel lenni, elegendő a szignatúra megadása.

A szignatúra fogalma egyértelműen szintaktikai fogalom, de a szemantikában is fontos szerepe van. Egy konkrét elmélet (egy matematikai struktúra) és egy nyelv akkor modelljei egymásnak, ha szignatúrájuk megegyezik, vagyis elegendő pusztán az elemek „formális” hasonlósága. Lásd még szemantika.

A szintaktikai szabályok

szerkesztés

A szimbólumokból bizonyos szabályok alkalmazásával szavakat építhetünk. * A logikailag legegyszerűbb szavak a termek (kifejezések, terminusok); ezek tkp. olyan szavak, melyek interpretálva a nyelv által leírt „valóság” (ld. lentebb) egy individuumát, nem pedig egy ilyenekről szóló kiértékelhető mondatot jelentenek.

  • Ezzel szemben a formula olyan szó, amely már relációjelet is tartalmaz, tehát amely lényegében egy kiértékelhető mondat sémáját jelenti.

A szintaktikai szabályokat precíz köznyelvi formában írjuk le; különféle fogalmak alkalmazásával tiszta, formális matematikai alakra is hozhatóak. A fogalmak pontos definíciója szerkezeti rekurzión (szintaktikus rekurzión, formularekurzión) alapul (ld. lentebb):

  1. A konstansjelek termek; mégpedig ha   és c egy π fajtájú konstansjel, akkor egyben π fajtájú term is.
  2. Az individuumváltozók termek; mégpedig ha   és v egy π fajtájú konstansjel, akkor egyben π fajtájú term is.
  3. Ha   termek, rendre az   fajtából, és   formálisan n-változós és   fajtájú műveleti jel, akkor   term, mégpedig   fajtájú.
  4. Valami pontosan akkor term, ha az ábécé  -beli betűiből az 1)., 2). és 3). szabályok véges sokszori alkalmazásával állítható elő. Tehát termek lényegében a függvényszimbólumokból, változókból és konstansokból képezett összetett kifejezések.
  5. Ha P n-változós predikátumszimbólum, és   termek, akkor   (elsőrendű) formula. Az ilyen, csak termeket, predikátumszimbólumokat és kiegészítő jeleket tartalmazó formulákat atomi formuláknak nevezzük.
  6. Ha   formula, akkor   is formula ; ha P atomi formula, akkor ehelyett   is írható (atomi formula negációja esetén a zárójeleket nem kell kitenni).
  7. Ha   két formula, és  , akkor   is formula. Tehát ekkor  ,  ,   is formulák. Ha P, Q egyike atomi formula, akkor a zárójelezés elhagyható: azaz például   is formula az esetben, ha P atomi.
  8. Ha   individuumváltozó, A tetszőleges formula, Q pedig kvantor –   – akkor   is formula. Az ilyen alakú formulákat kvantált formulának (kvantifikációnak) nevezzük. Tehát például ekkor   is kvantált formula (univerzálisan kvantált) és   is kvantált formula (egzisztenciálisan kvantált). Ha   atomi formula, a zárójelezés elhagyható.
  9. Minden formula az 5).-8). szintaktikai szabályok véges sokszori alkalmazásával áll elő az ábécé elemeiből és a termekből.

Néhány további fontos szintaktikai alosztály

szerkesztés
  • Az atomi és a kvantált formulák közös neve prímformula. Ezek azért kitüntetettek, mert a nyelv összes formulája belőlük épül fel, a további logikai összekötőjelek és kiegészítő jelek   segítségével.
  • Egy elsőrendű nyelvben azokat a szavakat/kifejezéseket (formulák, termek stb.), melyek individuumváltozót nem tartalmaznak, alapkifejezésnek nevezzük. Mit tartalmaznak tehát – konstansokat, függvényjeleket, predikátumjeleket, logikai- és kiegészítő jeleket. Konkrétan:
    • Az individuumváltozót nem tartalmazó termek az alaptermek;
    • Az individuumváltozót nem tartalmazó formulák az alapformulák
    • Az individuumváltozót nem tartalmazó atomi formulák az alapatomok.
  • A kvantált formulákban az A formulát a formula magjának nevezzük. Ha a Q kvantor a   univerzális kvantor, akkor univerzálisan kvantált formuláról vagy univerzális kvantifikációról, ha pedig a   egzisztenciális kvantor, akkor egzisztenciálisan kvantált formuláról vagy egzisztenciális kvantifikációról beszélünk.
  • Azokat a formulákat, melyek nem tartalmaznak kvantort, logikusan kvantormentesnek nevezzük, míg a kvantort tartalmazókat kvantoros formulának. Vigyázzunk: minden kvantált formula kvantoros, de fordítva nem igaz! A   formula kvantált. A   formula viszont kvantoros, de nem egy kvantált formula.
  • Speciális alakra hozott kvantoros formulák a prenex formulák és a Skolem-formulák.
  • Azokat a kvantoros formulákat, melyeknek minden változója kötött, azaz szabad változót nem tartalmaznak, zárt formuláknak nevezzük.

Az elsőrendű nyelv

szerkesztés

Definíció

szerkesztés

Maga a   nyelvbázis feletti   formális elsőrendű (és többfajtájú) matematikai logikai nyelv, röviden elsőrendű nyelv az ábécé betűiből az előző szabályoknak megfelelő (jól képzett) sorozatok, a nyelv szavainak (termek, formulák) halmaza vagy rendszere.

Ha még precízebbek akarunk lenni, a nyelvet formálisan megadhatjuk mint egy           halmazrendszert, ahol   a nyelvbázis,   pedig a jól képzett szavak (formulák, termek) halmaza vagy ezek halmazainak rendszere.

Megjegyzések :

  • Egyesek szerzők elsőrendű nyelven csak magát a szimbólumhalmazt azaz ábécét, tehát csupán a   különféle fajtájú szimbólumokból álló halmazrendszert értik, míg mások elsősorban a szavak halmazát értik. A matematika jelenlegi más ágaival (számítógéptudomány) a második megoldás nagyobb összhangban van, hátránya, hogy nagyon bonyolulttá teszi a fogalmat (az első változat vélhetően didaktikai okokból keletkezett egyszerűsítés).
  • Mivel minden függvény relációnak tekinthető, és minden konstansjel – nullváltozós – függvénynek, elegendő lenne az ábécében az F, P, C halmazokat összevonni, és pusztán R relációjelekről beszélni. Egyes szerzők ezt meg is teszik, mi e cikkben nem; ízlés kérdése.

A szintaktikai szabályok alapján a nyelv kifejezései (azaz maga a nyelv), halmazelméletileg is teljesen kifogástalanul megkonstruálhatóak. Rekurzióval ugyanis megkonstruálhatjuk a termek és a formulák halmazait. A következőkben a betűk egymás után írását (konkatenációját) egyszerűen a rendezettpár-képzéssel azonosítjuk.

A termek halmazának megkonstruálása a szintaxis alapján

szerkesztés

Talán hihetetlen, de a fenti félig-meddig precízen és formálisan megfogalmazott szabályok valóban jól meghatározzák a nyelv kifejezéseit. Egy   elsőrendű nyelv összes termje egy halmazt alkot, ami halmazelméleti eszközökkel megkonstruálható az ábécé elemeiből, a következőképp (a   jelölés, mint eddig is e cikkben, a szignatúrát jelenti).

  • Legyen   a „nulladosztályú termek” halmaza, tehát a konstansjelek és a változók ilyenek. Ezek az 1).-2). szintaktikai szabály alapján tényleg termek kell hogy legyenek.
  • Legyen most  ,   mind nulladosztályú term, rendre az   fajtából, és   n-változós és   fajtájú függvényszimbólum. Definiáljuk az „elsőosztályú termek” halmazát így:      
        .
  • Ha minden   -re már definiáltuk a   halmazt (az i-edosztályú termekét), az addig definiált termek halmaza ekkor persze  ; akkor teljesen   definíciójához hasonlóan folytathatjuk a(z i+1-edosztályú) termek definiálását:      
        ..
  • Legyen az   elsőrendű nyelv termjeinek halmaza pedig  .

A termek halmaza más (egyszerűbb, de kevésbé szemléletes) úton is megkonstruálható. Belátható u.is, hogy a fent kapott unióhalmaz a legszűkebb halmaz az 1).-2).-3). szintaktikai szabályoknak megfelelő halmazok között. Egyrészt van e szabályokat kielégítő szóhalmaz (a   ábécé feletti összes betűsorozat   halmaza például ilyen), másrészt nagyon könnyű belátni, hogy az összes ilyen szóhalmaz metszete is ilyen. Be lehet látni, hogy e metszet épp a fent konstruált   halmazzal egyenlő. Utóbbiról röviden annyit, hogy mivel a   halmazokat a szintaktikai szabályok figyelembevételével alkottuk, és a konstansok és a változók halmaza része a metszetnek, ezért a belőlük képzett   halmazok minden eleme is eleme a metszetnek, így ezek egyesítése, az unió része a metszetnek (a   halmaz konstrukciós szabályai „nem visznek ki” a metszethalmazból). Ha pedig valami eleme a metszethalmaznak, akkor a 4). szintaktika szabály biztosítja azt, hogy valamelyik   halmaznak az eleme legyen (egy részletes bizonyításban ez utóbbi állítást a legnehezebb belátni).

A formulák halmazának megkonstruálása a szintaxis alapján

szerkesztés

Az 1).-9). szabályok a formulák halmazát ugyanúgy jól definiálják, mint a termekét, e halmaz is megkonstruálható, rekurzióval (a rekurzió lényegében a formulák bonyolultsága szerint megy):

  • Az atomi formulák lesznek a kiindulópontok („nulladosztályú formulák”), legyen           .

E definíció lényegében az 5). szintaktikai szabály precízebb, matematikai formába öntése.

  • Ezután az atomi formulákból képezett elsőosztályú kvantifikációs formulákat is előállítjuk. Definiáljuk így a   formulahalmazt:
          (megjegyzés: ha tartjuk azt a megállapodást, hogy atomi kvantált formula esetén a magot nem kell zárójelbe tenni, akkor egy kis módosításra szorul a definíció, a Z-vel egyenlő tényezők elhagyhatóak).
  • Ezután az atomi és kvantifikációs formulákat logikai jelekkel kötjük össze, hogy az elsőosztályú összetett formulákat is megkonstruáljuk. Így kapjuk a   nulladosztályú halmazt:

 

  • Az összes elsőosztályú formula halmaza  .
  • … az eljárást ismételjük, azaz …
  • Legyen  . Ha már definiáltuk az   halmazt – természetesen az  -vel együtt, akkor definiálható  , és innen   is.
    •      ;
    •  
    •  .
  • Ez folytatható a végtelenségig. Legyen az   nyelv formuláinak halmaza pedig  

Természetesen ehelyett a bonyolult, de hasznos és viszonylag szemléletes „alulról történő” felépítés helyett választhatjuk most is a „felülről történő”, a szintaktikai szabályoknak megfelelő szóhalmazok metszeteként való előállítást is, ahogy az a termeknél is lehetséges volt; és most is belátható, hogy a két konstrukció ugyanazt a formulahalmazt eredményezi.

A termek és formulák konstrukciójából következik az ún. egyértelmű formulaelemzés tétele.

Szemantika

szerkesztés

Struktúra, -típus és modell

szerkesztés

Egy   ötelemű halmazrendszert matematikai struktúrának nevezünk, ahol

  •   tetszőleges halmaz, az univerzum);
  •   az   valamilyen partíciója, azaz az univerzumnak egy, lehetőleg véges   indexhalmaz feletti   nemüres halmazokból álló, páronként diszjunkt, a tagokat egyesítve épp   -t kiadó halmazrendszere; a   rendszer elemeit, azaz   osztályait az univerzumelemek fajtáinak (ang. tribe, sort) nevezzük; *   efölött értelmezett valahány (véges) változós relációk (  alakú halmazok) vagy predikátumok (  relációk karakterisztikus függvényeit, azaz az       előírással definiált függvényeket (0, 1 itt felfoghatóak logikai értékeknek)) halmaza; ahol   csak a   -tól függő természetes szám lehet; a   reláció/predikátum aritása vagy változószáma; jele  ; informális szemléletben – a predikátumok a normális köznyelven vagy a matematika nyelvein tett eldönthető kijelentések, a relációk pedig épp ezek halmazelméleti modelljei. Matematikailag sincs köztük lényeges különbség, a logikában inkább a predikátumos kifejezésmódot használjuk (a halmazelméletben a relációsat).
  •   nem más, mint   feletti valahány változós és valamilyen fajtájú függvények egy halmaza, azaz   minden eleme egy   ahol az   szám a függvény vagy művelet aritás'a; azaz változóinak száma;
  •   az   egy részhalmazam, mely bizonyos kitüntetett elemekből áll. Elemeit konstansoknak (vagy kitüntetett elemeknek) fogjuk nevezni.
  • Az előzőek szerint minden adott struktúrához egyértelműen létezik (a struktúra által meghatározottan) egy   elemhármas, a struktúra aritási függvénye;
    •   a konstansok száma;
  • A szignatúra ezen kívül a változók fajtáit is hozzárendeli a szimbólumokhoz, minden adott struktúrához egyértelműen létezik (a struktúra által meghatározottan) egy   elemhármas, a struktúra szignatúrája;
    •   ; tehát ha a   konstans a   halmazrendszer   tagjába esik, azaz c éppen t fajtájú, akkor mondjuk t szignatúrájúnak/fajtájúnak/típusúnak;

Egy struktúrát és egy elsőrendű nyelvet kompatibilisnek nevezzük, ha szignatúrájuk „megegyezik”. Néa azt is szokás mondani, hogy modelljei egymásnak, ezt a kifejezést azonban mi más fogalomra tartjuk fenn.


Interpretáció

szerkesztés

Röviden szólva, az interpretáció egy olyan leképezés(rendszer), mely egy nyelv egyes főbb elemeinek (a változókat kivéve szinte mindennek – konstansok, függvényjelek, relációjelek) egy adott struktúra megfelelő elemeit felelteti meg. Ha összevetjük ezt a szakaszt a bevezetéssel, rájöhetünk, hogy az elsőrendűség fogalma és az interpretáció fogalmának definíciója szoros kapcsolatban van. Többedrendű nyelvekre más lesz a definíció.

Legyen adott egy   ábécével rendelkező   nyelvbázis feletti   elsőrendű nyelv. Ennek egy   univerzum feletti   interpretációja egy   függvénynégyes; melynek tagjai a következő függvények:

  •   ; e függvény tehát minden fajtajelhez hozzárendeli   egy részhalmazát. Feltesszük, hogy a   halmazrendszer partíciója   -nak, azaz nemüres halmazokból álló páronként diszjunkt halmazrendszer, melynek uniója épp  ;
  •   minden konstansszimbólumhoz hozzárendel egy univerzumelemet; mégpedig   fajtájú konstansszimbólumhoz egy   osztályú/fajtájú univerzumelemet;
  •   minden függvényszimbólumhoz hozzárendel egy univerzum feletti műveletet; n-változóshoz n-változósat;
  •  ; e függvény minden predikátumszimbólumhoz (relációjelhez) hozzárendel egy U feletti relációt (predikátumot), n-váltpzóshoz n-változósat;
  • a fajtákat mindegyik függvény megőrzi.

Kiértékelés

szerkesztés

Röviden szólva, egy   interpretációbeli   kiértékelés azt jelenti, hogy minden konstansnak, termnek és formulának nemcsak egy konkrét struktúrabeli univerzumelemet, műveletet és predikátumot feleltetünk meg, hanem ezek igazságértékét is „eldöntjük”. Ezt úgy tesszük, hogy „rögzítjük” az egyetlen rögzítetlenül maradó szimbólumcsoport, a változók értékét is. Ezek után a formulák kiértékelése rekurzióval már automatikusan adódik, meghatározott.

Az elsőrendű nyelvek története

szerkesztés

Teljes értékűnek mondható elsőrendű logikai nyelv(ek)et először igazából Gottlob Frege konstruált (sőt az Aritmetika alaptörvényei c. munkájában meg is haladta az elsőrendű nyelvek elméletét), bár Giuseppe Peano is jelentős haladást ért el az elméletben. A logikai nyelvek elméletének továbbfejlesztői közt volt Bertrand Russell. További neves kutatók Alfred Tarski, Kurt Gödel, Gerhard Gentzen, Leon Henkin, Thoralf Skolem, és még sokan mások. Jelenleg az elsőrendű nyelvek elméletének alighanem az automatikus tételbizonyítások vizsgálata az egyik legintenzívebben fejlődő részterülete.

Kapcsolódó szócikkek

szerkesztés
  • Urbán János: Matematikai logika. Példatár. Műszaki Könyvkiadó, Budapest, 1983. ISBN 963-10-4683-4.
  • Pásztorné Varga KatalinVárterész Magda: A matematikai logika alkalmazásszemléletű tárgyalása. Panem, Budapest, 2003. ISBN 963-545-364-7.
  • Papadimitriou C. H.: Számítási bonyolultság. Novadat Bt., Budapest, 1999. ISBN 963-9056-20-0.
  • Ruzsa Imre: Logikai szintaxis és szemantika I.. Akadémiai Kiadó, Budapest, 1988. ISBN 963-05-4720-1.
  • Csirmaz László: Matematikai logika. Jegyzet, Hajnal András előadásainak felhasználásával. ELTE Budapest, 1994. ELTE 94024. (Postscript változat)
  • Fritz ReinhardtHeinrich Soeder : SH Atlasz – Matematika. Springer-Verlag, Budapest, 1995. ISBN 963-8455-91-8.

Külső hivatkozások

szerkesztés