A kombinatorikus logika a matematikai logika egyik ága , amely a formális logikai rendszerek vagy kalkulusok alapvető (vagyis magyarázatot nem igénylő és nem elemzett) fogalmaival és módszereivel foglalkozik [1] [2] . A diszkrét matematikában a kombinatorikus logika szorosan kapcsolódik a lambda-számításhoz , mivel számítási folyamatokat ír le.
Megalakulásuk óta a kombinatorikus logika és a lambda -számítás a nem klasszikus logikák közé tartozik . A lényeg az, hogy a kombinatorikus logika az 1920-as években, a lambda-számítás pedig az 1940-es években jelent meg, mint a metamatematika egy olyan ága, amelynek egy meglehetősen jól körülhatárolt célja - a matematika alapjainak megadása. Ez azt jelenti, hogy a szükséges „alkalmazott” matematikai elmélet – a szubjektumelmélet – megalkotása után, amely a valós külső környezetben zajló folyamatokat vagy jelenségeket tükrözi, a „tiszta” metaelmélet héjként használható a tantárgyelmélet lehetőségeinek és tulajdonságainak tisztázására. . Hamarosan az is kiderült, hogy mindkét rendszer programozási nyelvnek tekinthető (lásd még a kombinatorikus programozást ).
A mai napig mindkét nyelv nemcsak a számítástechnika területén végzett kutatások teljes tömegének alapjává vált , hanem a programozáselméletben is széles körben használják. A számítógépek számítási teljesítményének növekedése az elméleti (logikai és matematikai) ismeretek jelentős részének automatizálásához vezetett, és a kombinatorikus logikát a lambda-számítással együtt a tárgyi érvelés alapjaként ismerik el. .
A kombinatív logikában az alapfogalmak az egyhelyes függvény és a függvény argumentumra való alkalmazásának művelete ( alkalmazás ). A függvény fogalmát elsődlegesnek tekintjük a halmaz fogalmával kapcsolatban . A függvényt általánosan értjük, és az argumentumokkal és értékekkel azonos szintű objektumokkal is működhet. Mivel egy függvény argumentuma lehet függvény is, a sokhelyes függvény egyhelyes függvényre redukálható [3] .
A kombinátor olyan függvény , amely kielégíti az egyenlőséget
ahol ( ) néhány függvény, X egy olyan objektum, amelyet függvényekből állítottunk össze a [3] alkalmazás segítségével .
Bármely kombinátor kifejezhető két S és K kombinátorral, amelyeket a következő egyenlőségek határoznak meg [3] :
( forgalmazó ), ( csatár ).Ha adott egy lambda-kifejezés, mindig létrehozhat egy alkalmazó kifejezést . Ehhez csak két kombinátorra van szükség: S és K . Lambda kifejezések formájában: , . Vagyis az ezeken a kombinatorikus objektumokon definiált kombinatorikus logika a lambda-számítás modelljének tekinthető [4] .
További példák a kombinátorokra (a lambda-számítás jelölésében) az azonosságfüggvény , amely könnyen kifejezhető S és K kifejezésekkel [4] :
és a fixpontos vagy Y-kombinátor :
1920-ban a kombinátorokat mint speciális matematikai entitásokat [5] eredetileg M. Sheinfinkel [6] vezette be . Néhány évvel később önállóan fedezte fel őket H. Curry [7] , aki azóta jelentős előrelépést tett a kombinatorikus logika terén (bár más kutatók, például Rosser is hozzájárultak ehhez a munkához különböző időpontokban). Csaknem egy időben Church , Rosser és Kleene megkezdte a λ-konverzió fejlesztését.
Az 1970-es évek óta a kombinátorokat három fő módon használták: egyrészt logikai rendszerek felépítésére , amelyek egy művelet absztrakt jelölésén alapulnak; másodszor a bizonyítások elméletében, mint a különféle típusú konstruktív függvények rögzítésének alapja; harmadszor, egyes programozási nyelvek felépítésében és elemzésében a számítástechnikában .
A kombinatorikus logika keretein belül megépül a számításelmélet egy speciális változata, az úgynevezett kategorikus absztrakt gép . Ehhez a kombinatorikus logika egy speciális töredékét veszik figyelembe - a kategorikus kombinatorikus logikát [8] . Kombinátorok halmaza képviseli, amelyek mindegyike önálló értékkel rendelkezik, mint egy programozási rendszer utasítása. Így a kombinatorikus logikába még egy hasznos alkalmazás épül be – egy descartes-i zárt kategórián (fc) alapuló programozási rendszer. Ez lehetővé teszi az operátor és az applikatív programozási stílus közötti kapcsolat újragondolását egy új szinten.
Az objektumok mint bizonyos helyettesítési tulajdonságokkal rendelkező absztrakt matematikai entitások fogalmát felhasználva logikai gondolkodási rendszereket lehet felépíteni . Az ilyen rendszerek közül a leghíresebb a kombinátorokon alapul.
A kombinátorokon alapuló logika vagy az illatív kombinatorikus logika a kombinátorok elméletéből vagy a lambda-számításból épül fel, kiegészítve további állandókkal - extra állandókkal -, valamint a megfelelő axiómákkal és következtetési szabályokkal, amelyek a deduktív következtetés eszközét biztosítják.
![]() | |
---|---|
Bibliográfiai katalógusokban |
|