A strukturális indukció a matematikai bizonyítás konstruktív módszere , amely a matematikai indukciót (természetes sorozatokra alkalmazva) tetszőleges, rekurzívan meghatározott , részben rendezett gyűjteményekre általánosítja. A strukturális rekurzió a strukturális indukció megvalósítása definíció, bizonyítási eljárás vagy program formájában , amely induktív átmenetet biztosít egy részben rendezett halmazon.
módszert kezdetben a matematikai logikában használták, a gráfelméletben , a kombinatorikában , az általános algebrában , a matematikai nyelvészetben is alkalmazták , de legszélesebb körben az elméleti számítástechnikában önállóan tanulmányozott módszerként alkalmazták [1] , ahol a programozási nyelvek szemantikája , formális ellenőrzés , számítási összetettség , funkcionális programozás terén használják .
A Noether-indukcióval ellentétben - a matematikai indukció legáltalánosabb formája, amelyet tetszőleges jól megalapozott halmazokon alkalmaznak - a strukturális indukció fogalma konstruktív természetet, számítási megvalósítást foglal magában. Ugyanakkor a halmaz megalapozottsága a rekurzív definiálhatósághoz szükséges tulajdonság [2] , így a strukturális rekurzió a Noether-indukció egy sajátos változatának tekinthető [1] .
A módszer alkalmazása legalább az 1950-es évektől előfordul, különösen a Los-tétel ultratermékekre vonatkozó bizonyítása során , a képlet felépítésére indukciót alkalmaznak, míg magát a módszert nem nevezték kifejezetten speciális módon [3] . Ugyanebben az években a modellelméletben is alkalmazták a módszert a modellláncokon átívelő bizonyításokra; úgy vélik, hogy a "strukturális indukció" kifejezés megjelenése pontosan ezekhez a bizonyításokhoz kapcsolódik [4] . Curry az indukció minden alkalmazási típusát a matematikában két típusra osztotta – a deduktív indukcióra és a strukturális indukcióra, a természetes számokon végzett klasszikus indukciót az utóbbi altípusának tekintve [5] .
Másrészt, legkésőbb az 1950-es évek elején a transzfinit indukció módszerét már kiterjesztették tetszőleges, részben rendezett halmazokra, amelyek kielégítik a növekvő láncok megszakításának feltételét (ami egyenértékű a megalapozottsággal [6] ), míg Genkin utalt az indukció lehetőségére „bizonyos típusú, részben rendezett rendszerekben” [7] . Az 1960-as években a módszert Noether-indukció néven rögzítették (a Noether-gyűrű analógiájára , amelyben teljesül a növekvő ideálláncok megszakításának feltétele ) [8] .
A rekurzív definiálhatóságra és a Noether-indukcióra egyaránt utaló strukturális indukció explicit definícióját Rod Burstall adta meg az 1960 - as évek végén [9] , a számítástechnikai szakirodalom pedig a módszer bevezetéseként említi [10] [11 ]. ] .
A későbbiekben a strukturális indukcióra mint alapelvre épülő számítástechnikában több irány is megjelent, különösen ilyen a Plotkin programozási nyelvek strukturális működési szemantikája ( Gordon Plotkin ) [ 12] , a formális verifikáció induktív módszereinek sorozata. [13] [14] , UnQL strukturális rekurzív lekérdező nyelv [15] . Az 1990-es években az elméleti számítástechnikában elterjedt az alaptalan (általában végtelen) struktúrákon alkalmazott, a szerkezeti indukcióval kettősnek tekintett koindukciós módszer [16] .
Az elméleti számítástechnikában való széleskörű alkalmazás és a matematikai irodalomban található hivatkozások szűkössége miatt a 2010-es évektől úgy vélik, hogy a strukturális indukció, mint speciális módszer kijelölése inkább a számítástechnikára, mint a matematikára jellemző [17] .
A legáltalánosabb definíciót [18] [19] a struktúrák egy osztályára vezetjük be (a struktúrák természetének tisztázása nélkül ), ahol a struktúrák között részleges sorrendi kapcsolat van , a minimális elemfeltétel és a jelenléti feltétel minden egyes teljesen rendezett halmazhoz. szigorúan megelőző szerkezetek: . A szerkezeti indukció elve ebben az esetben a következőképpen fogalmazódik meg: ha egy tulajdonság teljesülése következik az azt szigorúan megelőző összes szerkezetre vonatkozó tulajdonság teljesüléséből, akkor a tulajdonság az osztály összes szerkezetére is teljesül; szimbolikusan (a természetes következtetési rendszerek jelölésével ):
.A rekurzivitást ebben a definícióban egymásba ágyazott struktúrák halmaza valósítja meg: amint mód nyílik egy struktúra tulajdonságainak származtatásának meghatározására az azt megelőző összes tulajdonság alapján, beszélhetünk a struktúra rekurzív definiálhatóságáról.
A számítástechnikai szakirodalomban a szerkezeti indukció egy másik definíciós formája is elterjedt, amely a konstrukciós rekurzióra fókuszál [20] , ezt olyan objektumok osztályának tekintik, amelyek meghatározott atomi elemek halmazán és műveletek halmazán definiálhatók . az objektum az atomelemekre végrehajtott szekvenciális műveletek eredménye. Ebben a megfogalmazásban az elv kimondja, hogy egy tulajdonság minden objektumra végrehajtódik , amint az összes atomi elemre bekövetkezik, és minden egyes műveletnél az elemekre vonatkozó tulajdonság végrehajtása követi a tulajdonság végrehajtását :
.A részleges sorrendi reláció szerepét az általános definícióból itt a konstrukciós befogadás viszonya játssza: [21] .
Az elv számítástechnikába való bevezetését az adatstruktúrák, például listák és fák rekurzív jellege motiválta [22] . Burstall első példája a listákon egy kijelentés a listák hajtásainak tulajdonságairól diadikus függvény típusú elemekkel és kezdeti hajtási elemekkel a lista összefűzésével kapcsolatban :
.A strukturális indukció ennek az állításnak a bizonyításában üres listákból történik - ha , akkor:
bal oldal, az összefűzés definíciója szerint: , a jobb oldal a konvolúció meghatározása szerint:és ha a lista nem üres, és az elemmel kezdődik , akkor:
a bal oldal, az összefűzés és hajtogatás definíciói szerint: , a jobb oldal a konvolúció definíciója és az indukció feltevése szerint: .Az indukciós hipotézis a for állítás és a befogadás igazságosságán alapul .
A gráfelméletben a strukturális indukciót gyakran használják a többrészes gráfokra vonatkozó állítások bizonyítására (a -partiteról a -partitera), a gráfösszevonási tételekben a fák és erdők tulajdonságaira [23] . A matematikában további olyan struktúrák , amelyekre strukturális indukciót alkalmaznak , a permutációk , mátrixok és tenzorszorzataik , a kombinatorikus geometriában a geometriai alakzatokból származó konstrukciók .
A matematikai logikában és az univerzális algebrában egy tipikus alkalmazás a strukturális indukció a képletek atomi tagokból való felépítésére, például megmutatjuk, hogy a kifejezések és a kifejezések megkívánt tulajdonságának teljesülése magában foglalja a , és így tovább. Ezenkívül számos strukturális-induktív bizonyítás az automataelméletben , a matematikai nyelvészetben a képletek felépítésén dolgozik; a számítógépes programok szintaktikai helyességének bizonyítására széles körben alkalmazzák a nyelv BNF definícióján a strukturális indukciót (néha még külön altípusként is kiemelkedik - BNF indukció [24] ).