Глава 13.
АВТОМАТИЧЕСКОЕ ДОКАЗАТЕЛЬСТВО ТЕОРЕМ
13.1. Введение
Поиск общей разрешающей процедуры для проверки общезначимости формул был начат давно. Первым пытался найти такую процедуру Лейбниц (1646 - 1716), в дальнейшем над этим работала школа Гильберта. Эти попытки продолжались до тех пор, пока Чёрч и Тьюринг независимо друг от друга не доказали, что не существует никакой общей разрешающей процедуры, никакого алгоритма, проверяющего общезначимость формул в логике предикатов первого порядка. Тем не менее, существуют алгоритмы поиска доказательства, которые могут подтвердить, что формула общезначима. Для необшезначимых формул эти алгоритмы, вообще говоря, не заканчивают свою работу. Принимая во внимание результат Чёрча и Тьюринга, это лучшее, что можно ожидать от алгоритма поиска доказательства.
В 1930 г. важный ПОДХОД к автоматическому доказательству теорем был дан Эрбраном. По определению общезначимая формула есть формула, которая истинна при всех интерпретациях. Эрбран разработал алгоритм нахождения интерпретации, которая опровергает данную формулу. Однако, если данная формула па самом деле общезначима, то такой интерпретации не существует и алгоритм оканчивает работу за конечное число шагов. Метод Эрбрана служит основой для большинства современных методов автоматического поиска доказательства. Главный результат был получен Робинсоном, который ввел так называемый метод резолюций.
В основе метода резолюций лежит процедура поиска опровержения, т.е. вместо доказательства общезначимости формулы доказывается, что отрицание формулы противоречиво. Метод опровержения для доказательства логического следования заключается в следующем. Пусть выполняется логическое следование: F1, F2 |= G. Тогда |= F1&F2G логически общезначима, и, следовательно, |(F1F2G)|=|F1F2G|F. Поскольку по определению посылки F1, F2 истинны, формула F1F2G может обратиться в ложь только, если |G| = F т.е. если |G| = T. Тогда логическое следствие выполнено. В принципе процедура опровержения формализует метод редукции. Проблема поиска автоматического доказательства при использовании процедуры опровержения значительно облегчается благодаря использованию так называемых «стандартных» форм формул. Любую формулу логики предикатов можно привести к эквивалентной ей предваренной нормальной форме, когда все кванторы вынесены вперед, а в области действия кванторов формула находится в конъюнктивной нормальной форме. Если такая формула имеет только кванторы всеобщности, то она будет ложна, если найдется хотя бы одна интерпретация, которая обращает ее в ложь. Тогда эквивалентная ей исходная формула также будет ложна, а ее отрицание, соответственно, истинно. Если же среди кванторов имеются кванторы существования, то проблема усложняется. Однако, кванторы существования можно снять (на основании правила экзистенциальной конкретизации), в результате будет получена так называемая «скулемовская стандартная форма». Тогда поиск опровергающей интерпретации применяется к этой форме.