Индукция (в физиологии)
- 1 year ago
- 0
- 0
Структурная индукция — конструктивный метод математического доказательства , обобщающий математическую индукцию (применяемую над натуральным рядом) на произвольные рекурсивно определённые частично упорядоченные совокупности. Структурная рекурсия — реализация структурной индукции в форме определения, процедуры доказательства или программы , обеспечивающая индукционный переход над частично упорядоченной совокупностью.
Изначально математической логике , также нашёл применение в теории графов , комбинаторике , общей алгебре , математической лингвистике , но наибольшее распространение как самостоятельно изучаемый метод получил в теоретической информатике , где применяется в вопросах семантики языков программирования , формальной верификации , вычислительной сложности , функционального программирования .
метод использовался вВ отличие от — наиболее общей формы математической индукции, применяемой над произвольными фундированными множествами , — в понятии о структурной индукции подразумевается конструктивный характер, вычислительная реализация. При этом фундированность совокупности — свойство, необходимое для рекурсивной определяемости , таким образом, структурную рекурсию можно считать частным вариантом нётеровой индукции .
Использование метода встречается по крайней мере с 1950-х годов, в частности, в доказательстве применяется индукция по построению формулы, при этом сам метод особым образом явно не назывался . В те же годы метод применялся в теории моделей для доказательств над цепями моделей, считается, что появление термина «структурная индукция» связано именно с этими доказательствами . Карри поделил все виды применения индукции в математике на два типа — дедуктивную индукцию и структурную индукцию, классическую индукцию над натуральными числами считая подтипом последней .
С другой стороны, не позднее начала 1950-х годов метод трансфинитной индукции уже распространялся на произвольные частично упорядоченные множества, удовлетворяющие условию обрыва возрастающих цепей (что эквивалентно фундированности ), в то же время Генкин отсылал к возможности индукции «в некоторых типах частично-упорядоченных систем» . В 1960-е годы метод закрепился под наименованием нётеровой индукции (по аналогии с нётеровым кольцом , в котором выполнено условие обрыва возрастающих цепей идеалов ) .
Явное определение структурной индукции, ссылающееся как на рекурсивную определимость, так и на нётерову индукцию, дано ( англ. ) в конце 1960-х годов , и в литературе по информатике именно к нему относят введение метода .
В дальнейшем в информатике возникло несколько направлений, основывающихся на структурной индукции как базовом принципе, в частности, таковы языков программирования ( англ. ) , серия индуктивных методов формальной верификации , структурно-рекурсивный язык запросов . В 1990-е годы в теоретической информатике получил распространение метод коиндукции , применяемый над нефундированными (как правило, бесконечными) структурами и считающийся структурной индукции .
В связи с широким применением в теоретической информатике и немногочисленностью упоминаний в математической литературе, по состоянию на 2010-е годы считается, что выделение структурной индукции как особого метода в большей степени характерно для информатики, нежели для математики .
Наиболее общее определение вводится для класса структур (без уточнения природы структур ) с отношением частичного порядка между структурами , с условием минимального элемента в и условием наличия для каждой вполне упорядоченной совокупности из всех строго предшествующих ей структур: . Принцип структурной индукции в этом случае формулируется следующим образом: если выполнение свойства для следует из выполнения свойства для всех строго предшествующих ей структур, то свойство выполнено и для всех структур класса; символически (в обозначениях систем натурального вывода ):
Рекурсивность в этом определении реализуется совокупностью вложенных структур: как только есть способ определять выводить свойства структуры исходя из свойств всех предшествующих ей, можно говорить о рекурсивной определимости структуры.
В литературе по информатике распространена и другая форма определения структурной индукции, ориентированная на рекурсию по построению , в ней рассматривается как класс объектов, определённых над некоторым множеством атомарных элементов и набором операций , при этом каждый объект — результат последовательного применения операций к атомарным элементам. В этой формулировке принцип утверждает, что свойство выполняется для всех объектов , как только имеет место для всех атомарных элементов и для каждой операции из выполнения свойства для элементов следует выполнение свойства для :
Роль отношения частичного порядка из общего определения здесь играет отношение включения по построению: .
Введение принципа в информатику мотивировалось рекурсивным характером таких структур данных, как списки и деревья . Первый пример над списком, приводимый Бёрстоллом — утверждение о свойствах свёртки списков с элементами типа двухместной функцией и начальным элементом свёртки в связи с конкатенацией списков :
Структурная индукция в доказательстве этого утверждения ведётся от пустых списков — если , то:
и в случае, если список непуст, и начинается элементом , то:
Предположение индукции основывается на истинности утверждения для и включении .
В теории графов структурная индукция часто применяется для доказательств утверждений о многодольных графах (с использованием перехода от -дольных к -дольным), в теоремах об , свойств деревьев и лесов . Другие структуры в математике, для которых применяется структурная индукция — перестановки , матрицы и их тензорные произведения , конструкции из геометрических фигур в комбинаторной геометрии .
Типичное применение в математической логике и универсальной алгебре — структурная индукция по построению формул из атомарных термов, например, показывается, что выполнение требуемого свойства для термов и влечёт , , и так далее. Также по построению формул работают многие структурно-индуктивные доказательства в теории автоматов , математической лингвистике; для доказательства синтаксической корректности компьютерных программ широко используется структурная индукция по БНФ-определению языка (иногда даже выделяется в отдельный подтип — БНФ-индукция ).