Структу́рна інду́кція — конструктивний метод математичного доведення, який узагальнює математичну індукцію (застосовувану над натуральним рядом) на довільні рекурсивно означені частково впорядковані сукупності. Структурна рекурсія — реалізація структурної індукції у формі визначення, процедури доведення або програми, що забезпечує індукційний перехід над частково впорядкованою сукупністю.
Спочатку[⇨] метод використовувався в математичній логіці, також знайшов застосування[⇨] в теорії графів, комбінаториці, загальній алгебрі, математичній лінгвістиці, але найбільшого поширення як самостійно досліджуваний метод набув у теоретичній інформатиці, де застосовується в питаннях семантики мов програмування, формальної верифікації, обчислювальної складності, функційного програмування.
На відміну від нетерівської індукції — найзагальнішої форми математичної індукції, застосовуваної над довільними фундованими множинами, — в понятті про структурну індукцію мається на увазі конструктивний характер, обчислювальна реалізація. При цьому фундованість сукупності — властивість, необхідна для рекурсивної ви́значності, таким чином, структурну рекурсію можна вважати частковим варіантом нетерівської індукції.
Історія
Використання методу зустрічається принаймні від 1950-х років, зокрема, в доведенні застосовується індукція побудови формули, при цьому сам метод особливим чином явно не називався. У ті ж роки метод застосовувався в теорії моделей для доведень над ланцюгами моделей, вважається, що поява терміна «структурна індукція» пов'язана саме з цими доведеннями. Карі поділив усі види застосування індукції в математиці на два типи — дедуктивну індукцію і структурну індукцію, класичну індукцію над натуральними числами вважаючи підтипом останньої.
З іншого боку, не пізніше початку 1950-х років метод трансфінітної індукції вже поширювався на довільні частково впорядковані множини, що задовольняють умову обриву ростучих ланцюгів (що еквівалентно фундованості), в той же час [ru] відсилав до можливості індукції «в деяких типах частково впорядкованих систем». У 1960-х роках метод закріпився під назвою нетерівська індукція (за аналогією з нетерівським кільцем, у якому виконано умову обриву ростучих ланцюгів ідеалів).
Явне визначення структурної індукції, яке посилається як на рекурсивну ви́значність, так і на нетерівську індукцію, дав [en]) наприкінці 1960-х років, і в літературі з інформатики саме до нього відносять уведення методу.
Надалі в інформатиці утворилося декілька напрямів, які ґрунтуються на структурній індукції як базовому принципі, зокрема, такими є мов програмування [en]), серія індуктивних методів формальної верифікації, структурно-рекурсивна мова запитів . У 1990-х роках у теоретичній інформатиці поширився метод коіндукції, застосовуваний над нефундованих (як правило, нескінченних) структурах, який вважають дуальним для структурної індукції.
Через широке застосування в теоретичній інформатиці і нечисленність згадок у математичній літературі, станом на 2010-ті роки вважається, що виділення структурної індукції як особливого методу більшою мірою характерне для інформатики, ніж для математики.
Визначення
Найзагальніше визначення вводиться для класу структур (без уточнення природи структур ) з відношенням часткового порядку між структурами , з умовою мінімального елемента в і умовою наявності для кожної цілком упорядкованої сукупності зі всіх структур, що суворо передують їй: . Принцип структурної індукції в цьому випадку формулюється так: якщо виконання властивості для випливає з виконання властивості для всіх структур, що суворо передують їй, то властивість виконано і для всіх структур класу; символічно (в позначеннях [en]):
- .
Рекурсивність у цьому визначенні реалізується сукупністю вкладених структур: як тільки є спосіб виводити властивості структури виходячи зі властивостей усіх попередніх їй, можна говорити про рекурсивну визначність структури.
В літературі з інформатики поширена й інша форма визначення структурної індукції, орієнтована на рекурсію за побудовою, в ній розглядається як клас об'єктів, визначених над деякою множиною атомарних елементів і набором операцій , при цьому кожен об'єкт — результат послідовного застосування операцій до атомарних елементів. У цьому формулюванні принцип стверджує, що властивість виконується для всіх об'єктів , як тільки має місце для всіх атомарних елементів і для кожної операції з виконання властивості для елементів слідує виконання властивості для :
- .
Роль відношення часткового порядку з загального визначення тут грає відношення включення за побудовою: .
Приклади
Запровадження принципу в інформатику мотивувалося рекурсивним характером таких структур даних, як списки і дерева. Перший приклад над списком, наведений Берстоллом — твердження про властивості [ru] з елементами типу двомісною функцією і початковим елементом згортки у зв'язку з конкатенацією списків :
- .
Структурна індукція в доведенні цього твердження ведеться від порожніх списків — якщо , то:
- ліва частина, за визначенням конкатенації: ,
- права частина, за визначенням згортки:
і в разі, якщо список непорожній, і починається елементом , то:
- ліва частина, за визначенням конкатенації та згортки: ,
- права частина, за визначенням згортки і припущенням індукції: .
Припущення індукції ґрунтується на істинності твердження і включення .
В теорії графів структурна індукція часто застосовується для доведення тверджень про багатодольні графи (з використанням переходу від -дольних до -дольних), у теоремах про [en], властивостей дерев і лісів. Інші структури в математиці, для яких застосовується структурна індукція — перестановки, матриці і їх тензорні добутки, конструкції з геометричних фігур у комбінаторній геометрії.
Типове застосування в математичній логіці та універсальній алгебрі — структурна індукція побудови формул з атомарних термів, наприклад, показується, що виконання необхідної властивості для термів і тягне , , і так далі. Також за побудовою формул виконуються багато структурно-індуктивних доведень у теорії автоматів, математичній лінгвістиці; для доведення синтаксичної коректності комп'ютерних програм широко використовується структурна індукція за БНФ-визначенням мови (іноді навіть виділяється в окремий підтип — БНФ-індукція).
Примітки
- Штеффен, Рютинг, Хут, 2018, с. 179.
- [Рекурсия Структурна індукція] — стаття з Математичної енциклопедії
- [pl]. Quelques remarques, théorèmes et problèmes sur les classes définissables d'algèbres // Studies in Logic and the Foundations of Mathematics. — 1955. — Т. 16 (16 червня). — С. 98—113. — DOI: .
- Гундерсон, 2011, с. 48.
- Карри, 1969, при цьому зазначаючи: «Звичайна математична індукція зі справжньої точки зору є структурною індукцією...; вона так часто зустрічається <...> що варто вважати її третім видом - натуральною індукцією».
- . Лекции по общей алгебре. — М. : Физматлит, 1962. — С. 21—22 (§5. Условие минимальности).
- Л. Генкин. О математической индукции. — М. : , 1962. — С. 36 (заключение).
- . Универсальная алгебра. — М. : Мир, 1969. — С. 33—34.
- Бёрстолл, 1969.
- Tools and Notions for Program Construction. An Advanced Course / D. Néel (ed.). — Cambridge University Press, 1982. — С. 196. — .
- О. А. Ильичёва. Формальное описание семантики языков программирования. — Ростов-на-Дону : ЮФУ, 2007. — С. 99—100.
- G. Plotkin. The origins of structural operational semantics // The Journal of Logic and Algebraic Programming. — 2004. — 16 червня. — С. 3—15. — DOI: .
- Z. Manna, S. Ness, J. Vuillemin. Inductive methods for proving properties of programs // Communications of the ACM. — 1973. — Т. 16, № 8 (16 червня). — С. 491—502. — DOI: .
- C. Reynolds, R. Yeh. Induction as the basis for program verification // Proceedings of the 2nd international conference on Software engineering (ICSE ’76). — Los Alamitos : IEEE Computer Society Press, 1976. — 16 червня. — С. 389.
- P. Buneman, M. Fernandez, D. Suciu. UnQL: a query language and algebra for semistructured data based on structural recursion // The VLDB Journal. — 2000. — Т. 9, № 1 (16 червня). — С. 76—110. — DOI: .
- R. Milner, M. Tofte. Co-induction in relational semantics // Theoretical Computer Science. — Т. 87, № 1. — С. 209—220.
- Бёрстолл, 1969, с. 42.
- Гундерсон, 2011, с. 42.
- Штеффен, Рютинг, Хут, 2018, с. 177—178.
- Штеффен, Рютинг, Хут, 2018, с. 178.
- Бёрстолл, 1969, с. 43, 45.
- Гундерсон, 2011, с. 49, 257, 384, 245.
- Штеффен, Рютинг, Хут, 2018, с. 214.
Література
- B. Steffen, O. Rüthing, M. Huth. Mathematical Foundations of Advanced Informatics. — , 2018. — Т. 1. Inductive Approaches. — .
- R. M. Burstall. Proving properties of programs by structural induction // [en]. — 1969. — Т. 12, № 1 (16 червня). — С. 41–48. — DOI: .
- D. Gunderson. Handbook of Mathematical Induction. Theory and Applications. — Boca Raton : CRC, 2011. — 893 с. — .
- Х. Карри. Основания математической логики. — М. : Мир, 1969. — 567 с. (рос.)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Struktu rna indu kciya konstruktivnij metod matematichnogo dovedennya yakij uzagalnyuye matematichnu indukciyu zastosovuvanu nad naturalnim ryadom na dovilni rekursivno oznacheni chastkovo vporyadkovani sukupnosti Strukturna rekursiya realizaciya strukturnoyi indukciyi u formi viznachennya proceduri dovedennya abo programi sho zabezpechuye indukcijnij perehid nad chastkovo vporyadkovanoyu sukupnistyu Spochatku metod vikoristovuvavsya v matematichnij logici takozh znajshov zastosuvannya v teoriyi grafiv kombinatorici zagalnij algebri matematichnij lingvistici ale najbilshogo poshirennya yak samostijno doslidzhuvanij metod nabuv u teoretichnij informatici de zastosovuyetsya v pitannyah semantiki mov programuvannya formalnoyi verifikaciyi obchislyuvalnoyi skladnosti funkcijnogo programuvannya Na vidminu vid neterivskoyi indukciyi najzagalnishoyi formi matematichnoyi indukciyi zastosovuvanoyi nad dovilnimi fundovanimi mnozhinami v ponyatti pro strukturnu indukciyu mayetsya na uvazi konstruktivnij harakter obchislyuvalna realizaciya Pri comu fundovanist sukupnosti vlastivist neobhidna dlya rekursivnoyi vi znachnosti takim chinom strukturnu rekursiyu mozhna vvazhati chastkovim variantom neterivskoyi indukciyi IstoriyaVikoristannya metodu zustrichayetsya prinajmni vid 1950 h rokiv zokrema v dovedenni zastosovuyetsya indukciya pobudovi formuli pri comu sam metod osoblivim chinom yavno ne nazivavsya U ti zh roki metod zastosovuvavsya v teoriyi modelej dlya doveden nad lancyugami modelej vvazhayetsya sho poyava termina strukturna indukciya pov yazana same z cimi dovedennyami Kari podiliv usi vidi zastosuvannya indukciyi v matematici na dva tipi deduktivnu indukciyu i strukturnu indukciyu klasichnu indukciyu nad naturalnimi chislami vvazhayuchi pidtipom ostannoyi Z inshogo boku ne piznishe pochatku 1950 h rokiv metod transfinitnoyi indukciyi vzhe poshiryuvavsya na dovilni chastkovo vporyadkovani mnozhini sho zadovolnyayut umovu obrivu rostuchih lancyugiv sho ekvivalentno fundovanosti v toj zhe chas ru vidsilav do mozhlivosti indukciyi v deyakih tipah chastkovo vporyadkovanih sistem U 1960 h rokah metod zakripivsya pid nazvoyu neterivska indukciya za analogiyeyu z neterivskim kilcem u yakomu vikonano umovu obrivu rostuchih lancyugiv idealiv Yavne viznachennya strukturnoyi indukciyi yake posilayetsya yak na rekursivnu vi znachnist tak i na neterivsku indukciyu dav en naprikinci 1960 h rokiv i v literaturi z informatiki same do nogo vidnosyat uvedennya metodu Nadali v informatici utvorilosya dekilka napryamiv yaki gruntuyutsya na strukturnij indukciyi yak bazovomu principi zokrema takimi ye mov programuvannya en seriya induktivnih metodiv formalnoyi verifikaciyi strukturno rekursivna mova zapitiv U 1990 h rokah u teoretichnij informatici poshirivsya metod koindukciyi zastosovuvanij nad nefundovanih yak pravilo neskinchennih strukturah yakij vvazhayut dualnim dlya strukturnoyi indukciyi Cherez shiroke zastosuvannya v teoretichnij informatici i nechislennist zgadok u matematichnij literaturi stanom na 2010 ti roki vvazhayetsya sho vidilennya strukturnoyi indukciyi yak osoblivogo metodu bilshoyu miroyu harakterne dlya informatiki nizh dlya matematiki ViznachennyaNajzagalnishe viznachennya vvoditsya dlya klasu struktur S displaystyle mathfrak S bez utochnennya prirodi struktur S S displaystyle S in mathfrak S z vidnoshennyam chastkovogo poryadku mizh strukturami displaystyle sqsubseteq z umovoyu minimalnogo elementa S 0 displaystyle S 0 v S displaystyle mathfrak S i umovoyu nayavnosti dlya kozhnoyi S S displaystyle S in mathfrak S cilkom uporyadkovanoyi sukupnosti zi vsih struktur sho suvoro pereduyut yij S T S T S displaystyle triangledown S T in mathfrak S mid T sqsubset S Princip strukturnoyi indukciyi v comu vipadku formulyuyetsya tak yaksho vikonannya vlastivosti P displaystyle P dlya S displaystyle mathfrak S viplivaye z vikonannya vlastivosti dlya vsih struktur sho suvoro pereduyut yij to vlastivist vikonano i dlya vsih struktur klasu simvolichno v poznachennyah en T S P T P S S S P S displaystyle frac forall T in triangledown S P T Rightarrow P S forall S in mathfrak S P S Rekursivnist u comu viznachenni realizuyetsya sukupnistyu vkladenih struktur yak tilki ye sposib vivoditi vlastivosti strukturi vihodyachi zi vlastivostej usih poperednih yij mozhna govoriti pro rekursivnu viznachnist strukturi V literaturi z informatiki poshirena j insha forma viznachennya strukturnoyi indukciyi oriyentovana na rekursiyu za pobudovoyu v nij S displaystyle mathfrak S rozglyadayetsya yak klas ob yektiv viznachenih nad deyakoyu mnozhinoyu atomarnih elementiv A S displaystyle mathcal A in mathfrak S i naborom operacij o i S k i S displaystyle left mathcal o i mathfrak S k i to mathfrak S right pri comu kozhen ob yekt S S displaystyle S in mathfrak S rezultat poslidovnogo zastosuvannya operacij do atomarnih elementiv U comu formulyuvanni princip stverdzhuye sho vlastivist P displaystyle P vikonuyetsya dlya vsih ob yektiv S S displaystyle S in mathfrak S yak tilki maye misce dlya vsih atomarnih elementiv i dlya kozhnoyi operaciyi o i displaystyle mathcal o i z vikonannya vlastivosti dlya elementiv S 1 S i k displaystyle S 1 dots S i k sliduye vikonannya vlastivosti dlya o i S 1 S i k displaystyle mathcal o i S 1 dots S i k A A P A i P S 1 P S i k P o i S 1 S i k S S P S displaystyle frac forall A in mathcal A P A forall i P S 1 dots P S i k Rightarrow P mathcal o i S 1 dots S i k forall S in mathfrak S P S Rol vidnoshennya chastkovogo poryadku displaystyle sqsubseteq z zagalnogo viznachennya tut graye vidnoshennya vklyuchennya za pobudovoyu j 1 i k S j o i S 1 S i k displaystyle forall j 1 dots i k S j sqsubseteq mathcal o i S 1 dots S i k PrikladiZaprovadzhennya principu v informatiku motivuvalosya rekursivnim harakterom takih struktur danih yak spiski i dereva Pershij priklad nad spiskom navedenij Berstollom tverdzhennya pro vlastivosti ru displaystyle circledast z elementami tipu T displaystyle T dvomisnoyu funkciyeyu T 2 T displaystyle ast T 2 to T i pochatkovim elementom zgortki t T displaystyle t in T u zv yazku z konkatenaciyeyu spiskiv displaystyle shortparallel S 1 S 2 t S 1 S 2 t displaystyle S 1 shortparallel S 2 circledast t S 1 circledast S 2 circledast t Strukturna indukciya v dovedenni cogo tverdzhennya vedetsya vid porozhnih spiskiv yaksho S 1 displaystyle S 1 bot to liva chastina za viznachennyam konkatenaciyi S 2 t S 2 t displaystyle bot shortparallel S 2 circledast t S 2 circledast t prava chastina za viznachennyam zgortki S 2 t S 2 t displaystyle bot circledast S 2 circledast t S 2 circledast t i v razi yaksho spisok neporozhnij i pochinayetsya elementom x displaystyle x to liva chastina za viznachennyam konkatenaciyi ta zgortki x S 1 S 2 t x S 1 S 2 t displaystyle x S 1 shortparallel S 2 circledast t x ast S 1 shortparallel S 2 circledast t prava chastina za viznachennyam zgortki i pripushennyam indukciyi x S 1 S 2 t x S 1 S 2 t displaystyle x S 1 circledast S 2 circledast t x ast S 1 shortparallel S 2 circledast t Pripushennya indukciyi gruntuyetsya na istinnosti tverdzhennya S 1 displaystyle S 1 i vklyuchennya S 1 x S 1 displaystyle S 1 sqsubseteq x S 1 V teoriyi grafiv strukturna indukciya chasto zastosovuyetsya dlya dovedennya tverdzhen pro bagatodolni grafi z vikoristannyam perehodu vid k 1 displaystyle k 1 dolnih do k displaystyle k dolnih u teoremah pro en vlastivostej derev i lisiv Inshi strukturi v matematici dlya yakih zastosovuyetsya strukturna indukciya perestanovki matrici i yih tenzorni dobutki konstrukciyi z geometrichnih figur u kombinatornij geometriyi Tipove zastosuvannya v matematichnij logici ta universalnij algebri strukturna indukciya pobudovi formul z atomarnih termiv napriklad pokazuyetsya sho vikonannya neobhidnoyi vlastivosti P displaystyle P dlya termiv A displaystyle A i B displaystyle B tyagne P A B displaystyle P A vee B P A B displaystyle P A wedge B P A displaystyle P lnot A i tak dali Takozh za pobudovoyu formul vikonuyutsya bagato strukturno induktivnih doveden u teoriyi avtomativ matematichnij lingvistici dlya dovedennya sintaksichnoyi korektnosti komp yuternih program shiroko vikoristovuyetsya strukturna indukciya za BNF viznachennyam movi inodi navit vidilyayetsya v okremij pidtip BNF indukciya PrimitkiShteffen Ryuting Hut 2018 s 179 Rekursiya Strukturna indukciya stattya z Matematichnoyi enciklopediyi pl Quelques remarques theoremes et problemes sur les classes definissables d algebres Studies in Logic and the Foundations of Mathematics 1955 T 16 16 chervnya S 98 113 DOI 10 1016 S0049 237X 09 70306 4 Gunderson 2011 s 48 Karri 1969 pri comu zaznachayuchi Zvichajna matematichna indukciya zi spravzhnoyi tochki zoru ye strukturnoyu indukciyeyu vona tak chasto zustrichayetsya lt gt sho varto vvazhati yiyi tretim vidom naturalnoyu indukciyeyu Lekcii po obshej algebre M Fizmatlit 1962 S 21 22 5 Uslovie minimalnosti L Genkin O matematicheskoj indukcii M 1962 S 36 zaklyuchenie Universalnaya algebra M Mir 1969 S 33 34 Byorstoll 1969 Tools and Notions for Program Construction An Advanced Course D Neel ed Cambridge University Press 1982 S 196 ISBN 0 512 24801 9 O A Ilichyova Formalnoe opisanie semantiki yazykov programmirovaniya Rostov na Donu YuFU 2007 S 99 100 G Plotkin The origins of structural operational semantics The Journal of Logic and Algebraic Programming 2004 16 chervnya S 3 15 DOI 10 1016 j jlap 2004 03 009 Z Manna S Ness J Vuillemin Inductive methods for proving properties of programs Communications of the ACM 1973 T 16 8 16 chervnya S 491 502 DOI 10 1145 355609 362336 C Reynolds R Yeh Induction as the basis for program verification Proceedings of the 2nd international conference on Software engineering ICSE 76 Los Alamitos IEEE Computer Society Press 1976 16 chervnya S 389 P Buneman M Fernandez D Suciu UnQL a query language and algebra for semistructured data based on structural recursion The VLDB Journal 2000 T 9 1 16 chervnya S 76 110 DOI 10 1007 s007780050084 R Milner M Tofte Co induction in relational semantics Theoretical Computer Science T 87 1 S 209 220 Byorstoll 1969 s 42 Gunderson 2011 s 42 Shteffen Ryuting Hut 2018 s 177 178 Shteffen Ryuting Hut 2018 s 178 Byorstoll 1969 s 43 45 Gunderson 2011 s 49 257 384 245 Shteffen Ryuting Hut 2018 s 214 LiteraturaB Steffen O Ruthing M Huth Mathematical Foundations of Advanced Informatics 2018 T 1 Inductive Approaches ISBN 978 3 319 68396 6 R M Burstall Proving properties of programs by structural induction en 1969 T 12 1 16 chervnya S 41 48 DOI 10 1093 comjnl 12 1 41 D Gunderson Handbook of Mathematical Induction Theory and Applications Boca Raton CRC 2011 893 s ISBN 978 1 4200 9364 3 H Karri Osnovaniya matematicheskoj logiki M Mir 1969 567 s ros