Разрешимость свойств

Математики, исследовавшие свойства чисел в начале нынешнего столетия, приняли аксиоматический метод определения свойств чисел как средство, позволяющее не полагаться на интуицию. Однако пользование аксиоматическим методом привело (в качестве "побочного эффекта") к постановке более фундаментальной проблемы: существуют некоторые свойства чисел, которые одновременно истинны и неразрешимы (т. е. недоказуемы при использовании конечного множества аксиом и полного множества правил вывода).

Рекурсивная разрешимость

Исследование проблемы разрешимости свойств принесло следующие результаты. Отношение или свойство, определенное на бесконечной области интерпретации, которой, к примеру, являются натуральные числа, представило в теории первого порядка только в том случае, если оно рекурсивно. Отношение или свойство разрешимо, если существует рекурсивно перечислимое множество термов, обладающих этим свойством, т. е. если данное множество может быть образовано при помощи рекурсивного алгоритма за конечное число шагов. Вспомним, что теория называется полной, если все известные истинные сведения из области знаний, описываемой этой теорией, являются следствием аксиом теории. Ввиду того, что свойства чисел одновременно и истинны, и неразрешимы, никакая аксиоматическая теория арифметики не может быть полной.

Рекурсивная вычислимость

Изучение природы рекурсивной вычислимости позволяет предположить возможность применения процедуры, которая будет механически выполняться человеком или компьютером и обладать способностью доказать то, что заданная ППФ является следствием множества аксиом, если эта ППФ в действительности является следствием этого множества аксиом. Если бы такая процедура существовала, то рекурсивная разрешимость вопроса: "Является ли заданная ППФ следствием данных аксиом?" сводилась бы к вопросу о рекурсивной вычислимости с помощью упомянутой процедуры. Тьюринг и ряд других ученых исследовали практические аспекты рекурсивной вычислимости. "Машина Тьюринга" - это абстрактная система, позволяющая судить о вычислимости любого рекурсивного алгоритма. Сходным образом язык логического программирования, например, Пролог, позволяет определить при помощи вычислений, является ли заданная ППФ следствием аксиом некоторой теории.

0.6. От формальной логики - к логическому программированию Автоматизация процедур доказательства

После того, как была открыта вычислимость логических следствий в абстрактном смысле, возникло естественное желание автоматизировать процесс доказательства при помощи компьютера. Однако, как отмечает Робинсон, "задача фактического выполнения вычислений при помощи процедуры, первоначально предназначенной лишь для того, чтобы провести доказательство "существования",... оказалась очень сложной" ([92, с. 292]). Полная логика предикатов — это язык, обладающий богатыми выразительными средствами. Если попытаться в общем виде реализовать на компьютере процедуры доказательства, разработанные для исчисления предикатов, то возникнет проблема комбинаторного роста числа вариантов. В конце 50-х—начале 60-х гг. ученые приступили к поиску таких приемлемых с точки зрения объема вычислений методов реализации процедур доказательства, которые в максимально возможной степени сохранили бы выразительную силу логики предикатов первого порядка. У специалистов зародилась мечта о создании на практике универсальной машины — "решателя задач", которую задумал еще Лейбниц.

В конце 50-х годов Гилмор, Дэвис, Патнэм и Правиц начали работу по созданию автоматизированного метода доказательства через опровержение. За основу был взят метод, разработанный Хербрандом в 30-е годы (см. [100, 101]). Основываясь на работе Правица, Робинсон создал правило вывода, которое он назвал резолюцией. Это правило пригодно для выполнения вывода машиной [91]. Первоначально попытки создания алгоритма решения задач, базирующегося на резолюции, оказывались успешными только для очень небольших задач. Лавленд, Ковальски и Куэ-нер усовершенствовали такие алгоритмы, разработав метод устранения моделей [63] и метод селектирующей функции [57]. В начале 70-х гг. Кольмерор и Руссель воспользовались результатами этих работ при создании языка, базирующегося на правиле резолюции. Этот язык они назвали Пролог - Программирование при помощи ЛОГики [93].

В следующих разделах описываются интерпретации Хербранда, фразовая форма логики и правило резолюции. Там показано, как из исчисления предикатов первого порядка развилось логическое программирование, а также объясняется процедура доказательства через опровержение.

Соседние файлы в папке Гл.0,1,2,3,4,5,Предисловие