![](/user_photo/_userpic.png)
книги из ГПНТБ / Слэйгл Д. Искусственный интеллект. Подход на основе эвристического программирования
.pdfА В Т О М А Т И Ч Е С К ОЕ Д О К А З А Т Е Л Ь С Т В О ТЕОРЕМ |
111 |
в программах для нахождения доказательств до его появ ления. Мощность этого принципа связана с тем, что вы числение термов для получения частных случаев произво дится при этом автоматически при каждом применении правила. Благодаря этому он становится еще намного более эффективным в смысле сокращения затрат машин ного времени и памяти ЭВМ.
Так как принцип резолюции является весьма естествен ным, при его использовании сравнительно легко строить дополнительные эвристики (например, резолюцию еди ничных элементов и стратегию «предпочтение единичным элементам»), которые облегчают действие программ, до казывающих теоремы. Стратегия «опорного множества» хорошо подходит для поиска доказательств. Однако сле дует продолжить эксперименты с известными эвристиками, включая гиперрезолюцию и семантическую резолюцию. Кроме того, требуется продолжать поиск новых, более совершенных эвристик. Один из путей к этому — изуче ние способоз доказательства теорем человеком.
У П Р А Ж Н Е Н И Я
В приведенных ниже упражнениях буквы s, t, и, v, w, х и у обоз
начают переменные, а |
буквы a, |
b и е — |
константы. |
|
|
|||
1. Заполните пустые места, подставляя одно |
из следующих |
|||||||
слов: «иногда», «всегда» или «никогда не». |
|
|
||||||
а) |
Множитель |
предложения |
|
следует из |
предложения. |
|||
б) |
Если А , В |
и С — литеры, то |
(А/\Ь)--С |
эквивалентно |
||||
- л ѵ - ' - Ѵ С |
|
|
|
|
|
|
||
в) |
Стратегия |
«сначала |
вширь» |
. |
находит |
противоречие, |
||
если |
исходными |
предложениями являются Q (а) и |
— Q ( x ) \ J Q l l ( x ) ) . |
|||||
г) |
Стратегия |
«сначала |
вширь» |
|
находит |
противоречие, |
||
если |
исходными предложениями |
являются |
Р(х,і{у)) |
и |
-/ J ( / ( V ) . X).
2.Сопоставляя Р4 с первой атомарной формулой Р8 в табл . 5 . 1,
выразите |
|
промежуточный |
результат Р8 |
(не резольвенту): |
||||
|
а) |
словами; |
|
|
|
|
||
|
б) |
символами. |
|
|
|
|
||
3. |
Приведите дизъюнктивную запись, соответствующую симво |
|||||||
лической |
|
(имплпкативной) записи |
табл. |
5.1. |
||||
4. |
Даны |
следующие |
два |
предложения: |
||||
Dl |
PU, |
g(x), а ) Ѵ - Я ( о , |
g(x), |
x); |
|
|||
D2 |
Р(к, |
y. |
a). |
|
|
|
|
а) Найти все резольвенты, получаемые при разрешении предложений D1 и D2.
б) Найти_все множители предложения_ D1.
112 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ГЛАВА |
5 |
|
|
в) Найти |
все |
множители |
предложения |
D2. |
|
|
|
|
|
|||||||||
5. Сформулируйте следующее высказывание в виде предложе |
|||||||||||||||||||
ния и попытайтесь найти множители этого предложения. |
|
|
|||||||||||||||||
Для всех х и Dcex |
у существует s, |
такие, |
что |
либо |
Q(s, х, |
у), |
|||||||||||||
либо |
Q{x, |
|
s, |
у). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6. |
пусть |
ху |
означает |
«х умножено |
на |
у», |
а Р(х, |
у, |
и) означает |
||||||||||
ху = |
и. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
а) |
Напишите |
единичное |
предложение, |
которое |
утверждает, |
|||||||||||||
|
что |
|
умножение |
является |
замкнутым. Замкнутость |
умноже |
|||||||||||||
|
ния |
означает, |
что для |
всех х и для |
всех у существует |
такое |
s, |
||||||||||||
|
что |
|
ху |
= |
5. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
б) |
Напишите |
простое |
окончание |
следующего |
предложения, |
|||||||||||||
|
такое, которое бы утверждало, что умножение |
коммутатив |
|||||||||||||||||
|
но. |
|
Коммутативность |
умножения |
означает, |
что |
для |
всех |
х |
||||||||||
|
и для |
всех |
у |
ху = ух: —Р(.ѵ-,'і/, |
и)\/ |
. |
|
|
|
|
|
||||||||
7. |
Предполагая, |
|
что |
не существует |
более |
простых |
доказа |
||||||||||||
тельств, чем |
те, |
которые |
приведены, |
определите |
уровень |
страте |
|||||||||||||
гии «сначала |
вширь», |
на |
котором будет |
найдено |
протішоречне: |
|
|||||||||||||
|
а) |
в |
первом |
примере; |
|
|
|
|
|
|
|
|
|
||||||
|
б) |
во |
втором |
примере; |
|
|
|
|
|
|
|
|
|
||||||
|
в) |
в |
третьем |
примере. |
|
|
|
|
|
|
|
|
|
||||||
8. |
Определите |
|
порядок, |
в |
котором |
стратегия |
«предпочтение |
единичным элементам» будет предпринимать попытки найти сле
дующие |
резольвенты: |
|
|
а) |
предложения 2-го порядка и предложения |
8-го |
порядка; |
б) |
единичного предложения и предложения 2-го порядка; |
||
в) |
предложения 4-го порядка н предложения 5-го порядка; |
||
г) |
предложения 7-го порядка и единичного |
предложения; |
|
д) |
предложения 3-го порядка и предложения 2-го порядка; |
||
е) |
единичного предложения и предложения |
4-го |
порядка. |
|
9. Пусть Р, Q и |
R являются атомарными формулами. Исполь |
||||||||||
зуя |
принцип резолюции и дизъюнктивную |
запись, |
найдите доказа |
|||||||||
тельство следующей теоремы: если PVQ, Р |
• |
' |
Р |
и Q |
• R, |
то W. |
||||||
|
10. Используя |
|
принцип |
резолюции, |
найдите |
противоречие |
||||||
для |
следующего |
исходного |
множества |
предложений: |
|
|||||||
Имя |
|
|
Предложение |
|
|
|
|
|
Основание |
|||
предло |
|
|
|
|
|
|
|
|||||
жения |
|
|
|
|
|
|
|
|
|
|
|
|
Л |
Р (<?, X, |
х) |
|
|
|
|
|
|
|
Задано |
|
|
J2 |
Р (g M , |
X, |
е) |
|
|
|
|
|
|
То же |
|
|
J3 |
- Р (X, |
у. |
и) |
V -Р(у, |
z, |
« ) Ѵ - Р (И, |
7, |
ш) |
» |
|
||
|
V Р (х, |
ѵ, ш) |
|
|
|
|
|
|
|
|
||
J4 |
-Р(х, |
у, |
и) |
V ~Р(у, |
z, |
о ) Ѵ - Р (X, |
v. |
w) |
|
» |
|
|
|
V Р (и, |
г, w) |
|
|
|
|
|
|
|
|
||
J5 |
— Р{а, |
е, |
а) |
|
|
|
|
|
|
Отрицание |
до |
|
|
|
|
|
|
|
|
|
|
|
казываемого |
утверждения
А В Т О М А Т И Ч Е С К ОЕ Д О К А З А Т Е Л Ь С Т В О ТЕОРЕМ |
113 |
11. Используя принцип резолюции и дизъюнктивную запись, найдите доказательство следующей теоремы: если не существует интеллектуальных машин и если каждая идеальная машина яв
ляется |
интеллектуальной машиной, то идеальная машина |
не су |
|||
ществует. Обозначьте через |
N[x) т.>т факт, что х— |
интеллекту |
|||
альная |
машина, а |
через D(x) |
гот факт, что х—идеальная |
машина. |
|
12 |
Используя |
принцип |
резолюции и дизъюнктивную |
запись, |
найдите доказаіельство следующей теоремы: если каждый обман-
и:ч:< |
; І Н Л : І ; . С Я |
преступником |
и всякий, |
кто подстрекает |
преступ |
нике:, |
: пля?гоі |
преступником |
и если |
существует трус, |
который |
подстрелил обманщика, то среди преступников существует трус.
Обозначьте через С(х) тот факт, |
что |
х—• преступник, |
через |
D(x) |
|||||||||||||||||||
тот факт, |
что х - |
обманшнк. через |
t u . у) — тот факт, |
что лицо х |
|||||||||||||||||||
подстрекает |
лицо у, |
|
а |
через |
7"(л) |
гот факт |
4 T J |
\ |
— трус. |
|
|||||||||||||
Л И Т Е Р А Т У Р А |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
D a v i s |
AL, |
P u t n a m |
H . , |
|
«A Compatir.? Piccedure for Quanti |
||||||||||||||||||
fication |
Піеогу», |
J. |
ACM, |
|
7, 201-215 (19H0). |
|
|
|
|
|
|||||||||||||
G i 1 m о г e |
P. |
C., «A Proof |
Method for |
QuantificaUon |
Theory: Its |
||||||||||||||||||
Justification and |
Realizations, 1MB |
J. Res. Develop., 28—35 (I960). |
|||||||||||||||||||||
G u a r d |
J. |
R., |
О g I e s b y |
F. |
C , B e n n e t U . |
H . . |
S e t t |
||||||||||||||||
l e |
L. |
G., «Semi-automaled |
Mathematics», |
J. |
ACM, |
|
16, № 1, |
||||||||||||||||
49—62 |
(1969). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
K l е е п y |
St., |
((Mathematical |
Logic», |
Wiley, |
New York, |
i 967. |
|||||||||||||||||
L e d e r m a n |
W., |
|
«Introduction |
to |
the |
Theory |
of Finite |
Groups, |
|||||||||||||||
Oliver |
a. |
Boyd, |
|
London, |
|
1954. |
|
|
|
|
|
|
|
|
|
|
|||||||
L e e |
R. С h a r-t u n g, «A Completness Theorem and a Computer |
Prog |
|||||||||||||||||||||
ram for binding Theorems Derivable from |
|
Given |
|
Axioms», |
|||||||||||||||||||
doct. diss., Dept. of Electr. Eng. and Computer Sei., |
Univ. of |
||||||||||||||||||||||
Calif., |
Berkeley, |
|
|
1967. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
M c C a r t h y |
J., |
|
«Programs |
with Common Sense», см. Journal |
|||||||||||||||||||
Proc. of the Simposium |
on |
the Mechanization |
of Thought Proces |
||||||||||||||||||||
ses», Her Magesty's Stat. Office, |
London, |
1959, |
pp. |
75—84. |
|||||||||||||||||||
M e l |
t z e г В., |
«Theorem |
Proving for Computers: Some |
Results on |
|||||||||||||||||||
Resolution |
and |
Renaming», |
Computer |
J., |
8, |
341 — 343 |
(1966). |
||||||||||||||||
M о r r i s J. |
В., |
«E-Resolution: |
Extension of |
Resolution |
to Include |
||||||||||||||||||
the Equality |
Relation», |
Proc. Int. Joint Conf. Artif. Intel!.. |
1969. |
||||||||||||||||||||
R о b i n s о n J. A., |
|
«A Machine Oriented Logic Based on the |
Reso |
||||||||||||||||||||
lution |
Principles, |
|
J. |
ACM, |
23—41, |
Jan. |
(1965). |
|
|
|
|
||||||||||||
R о b i n s о n J. |
A., |
«A Review |
of |
Automatic |
Theorem |
|
Proving», |
||||||||||||||||
Proc. Symp. Appl. Math., |
vol. X I X , 1966. |
|
|
|
|
|
|
||||||||||||||||
R o b i n s o n |
J. |
A., |
«Resolution |
in |
Concequence |
Findings. |
Proc. |
||||||||||||||||
Intern. Joint Conf. Artif. |
|
Intell., |
1969. |
|
|
|
|
|
|
|
|||||||||||||
W a n g |
H a o, |
«Formal ization and |
|
Axiomatic Theorem |
|
Proving», |
|||||||||||||||||
Proc. |
IF1P Congr. |
1965, |
vol. 1, May, |
1965; Spartan |
Books, Wa |
||||||||||||||||||
shington |
D. C , |
|
pp. |
51 — 58. |
|
|
|
|
|
|
|
|
|
|
|
||||||||
W о s |
L. . C a r s o n |
|
D., R o b i n s o n |
G., |
«The |
Unit |
Preference ' |
||||||||||||||||
Strategy in Theorem Proving», Proc. AFIPS |
Annual |
Fall |
Joint |
||||||||||||||||||||
Computer |
Conf., |
|
1964, |
pp. |
616—621. |
|
|
|
|
|
|
|
|||||||||||
8—1677 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6
Другие программы для решения математических задач
Исследователи разработали программы, которые дока зывают теоремы из элементарной логики, программы, ко торые проверяют доказательства, эвристические програм мы для решения задач регрессионного анализа, програм
мы, которые |
решают задачи на геометрические аналогии, |
||
программы, |
помогающие |
людям манипулировать |
мате |
матическими |
выражениями |
и программы решения |
задач, |
которые планируют, находят вспомогательные теоремы и обучаются. Исследозатели, создающие эвристические про граммы для решения математических задач, преследуют две цели. Во-первых, они хотят проверить свои идеи в области создания искусственного интеллекта на хорошо сформулированных проблемах и, во-вторых, они стре мятся в конечном итоге полѵчить программы для решения практиче. ких задач. Эксперименты с этими и другими программами для решения математических задач, описан ными в двух предыдущих главах, позволяют уже сделать определенные выводы. Скорость решения задач каждой из этих программ выше скорости решения тех же задач человеком, хорошо справляющимся с этим делом. Наи большие усилия в настоящее время должны быть направ лены на развитие достигнутых успехов в том направле нии, чтобы сделать возможным автоматическое решение еще более трудных и важных для практики математиче ских задач. В процессе разработки программ для реше ния математических задач исследователи развили не сколько идей, очень полезных для эвристического про граммирования. Эти идеи могут послужить основой для создания общей теории решения задач.
Д Р У Г И Е ПРОГРАММЫ Д Л Я Р Е Ш Е Н И Я МАТЕМАТИЧЕСКИХ З А Д А Ч 115
6.1.ПРОГРАММА, ДОКАЗЫВАЮЩАЯ ТЕОРЕМЫ
ВЭ Л Е М Е Н Т А Р Н О Й МАТЕМАТИЧЕСКОЙ Л О Г И К Е
|
Программа, называемая Логик-теоретик, или просто |
ЛТ |
(Ныоэлл, Шоу и Саймой, 1957), доказывает теоремы |
в |
пропозициональном исчислении (называемом также |
исчислением высказываний или алгеброй Буля). Пропо зициональное исчисление является частным случаем ис числения предикатов. ЛТ использует многие приемы и эвристики, применяемые при доказательстве тех же теорем студентами.
Эти исследователи не ставили себе целью разработать программу для практического использования. Их при влекало то обстоятельство, что задача доказательства теорем в пропозициональном исчислении является хорошо опре деленной. Они стремились также развить процед\ры поис ка на имплицитном дизъюнктивном дереве целей. Однако главной их целью было достичь лучшего понимания естественного интеллекта, пытаясь получить проірамму.. которая имитировала бы процесс решения людьми ин теллектуально трудной проблемы доказательства таких теорем.
Две типичные теоремы математической логики. Ниже приведены два типичных примера действий, демонстри руемых ЛТ. Программа ЛТ читает перфокарты, содер жащие пять аксиом, включая следующую:
ІР V Р) * Р- |
(1.2)') |
Эта аксиома означает: «Если р или р, то р», где р — пе ременная. (Так как пропозициональное исчисление в дан ной главе не будет подробно рассматриваться, читатель, у которого понимание приведенного выше выражения вызывает затруднения, может сразу перейти к следую щему подразделу.) Затем ЛТ читает карту, содержащую запись логической теоремы
(р >-р) |
>-р, |
(2.01) |
1 Номер (1.2) означает, что эта формула является второй по порядку формулой в гл. 1 книги «Принципы математики» Уайтхеда и Рассела (1935).
8*
116 |
ГЛАВА 6 |
Таблица 6.1 Доказательство теоремы (2.01) программой ЛТ
Номер утвержде Утверждение Основание
ния
1 |
(AVA) |
> А |
|
2 |
( - Л |
V -А) |
— - А |
3 |
(А |
. — А) |
> — А |
4 |
(р |
> -Р) |
-Р |
Согласно аксиоме (1.2)
Согласно подстановке —А вместо А
Замена дизъюнкции на импликацию
Подстановка р вместо А. Что и требовалось дока зать
которую требуется доказать. Эта теорема означает: «Если
р |
влечет |
за собой |
не р, то не р». Приблизительно через |
|
2 |
с |
ЛТ |
выдает на |
печать доказательство, представлен |
ное |
в табл. 6.1. |
|
ЛТ может доказывать значительно более трудные тео ремы, чем (2.01). Однако при попытке решить следующую задачу программа потерпела неудачу. Предположим, что
ЛТ даны |
(добавлены |
к пяти |
аксиомам) 28 теорем, |
пред |
|||
шествующих |
теореме |
(2.31). |
После поиска в течение |
||||
4 мин |
доказательства теоремы |
|
|||||
IPV |
(Я V г)] |
Ч ( р Ѵ ? ) Ѵ ] |
(2.31) |
||||
ЛТ сообщила, |
что выделенные ей ресурсы (4 мин) исчер |
||||||
паны. |
|
|
|
|
|
|
|
Имплицитное дизъюнктивное дерево целен. ЛТ осу |
|||||||
ществляет |
поиск |
на |
нмплицптнсм дизъюнктнвнсм |
дере |
|||
ве целей. Такое дерево не содержит конъюнктивных |
отно |
шений, но по другим свойствам является таким же, как дизъюнктивно-конъюнктивное дерево целей. Цель на дизъюнктивном дереве целей может быть достигнута толь ко тогда, когда достигнута одна из подцелей этой цели.
Таким |
образом, |
верхняя |
цель |
может быть достигнута, |
если |
достижима |
любая |
цель, |
принадлежащая дереву. |
В целом процедура обращения с дизъюнктивным деревом
значительно |
проще, чем с дизъюнктивно-конъюнктив |
ным деревом. |
Например, дизъюнктивной процедуре нет |
Д Р У Г И Е П Р О Г Р А М М Ы Д Л Я Р Е Ш Е Н И Я МАТЕМАТИЧЕСКИХ З А Д А Ч Ц 7
надобности выполнять сложную обработку запасных (dup licate) целей или производить отсечение лишних вариан тов на дереве целей. Дизъюнктивное дерево эквивалент но дереву игры одного лица (карточная игра типа пасьян са, в которой игрок видит все карты, может быть пред ставлена имплицитным деревом игры одного лица).
Дизъюнктивное дерево ЛТ имеет сходство с дизъюнк тивно-конъюнктивным деревом программы для решения геометрических задач. Каждая цель в ЛТ состоит из до казательства некоторого высказывания при заданных аксиомах и теоремах. Преобразование состоит из правила вывода [такого, как выделение (detachment), называе мого также modus ponens] и теоремы (или аксиомы). Пре образования таковы, что цель находится в дизъюнктив ном отношении к своим подцелям.
Общая процедура поиска на имплицитном дизъюнк тивном дереве целей. Процедура, используемая ЛТ, яв ляется разновидностью следующей общей процедуры.
Заметим, что |
эта общая процедура почти совпадает |
с процедурой, |
описанной в разд. 4.3 для дизъюнктив |
но-конъюнктивного дерева. Единственное различие со стоит в том, что шаг G у дизъюнктивной процедуры про ще, чем у дизъюнктивно-конъюнктивной процедуры. Сле дующий за изложением процедуры параграф содержит описание идей, необходимых для более глубокого пони мания процедуры, используемой ЛТ. До того как начи нается выполнение общей процедуры, должны быть за
даны |
первоначальная цель |
и |
распределение ресурсов. |
||
Не выходя за пределы заданных |
ресурсов, |
процедура пы |
|||
тается достигнуть заданную |
цель. Шаги |
в |
приведенной |
||
ниже общей процедуре должны |
выполняться |
по порядку, |
|||
если |
не оговорено иначе. |
|
|
|
|
A. Если попытка непосредственно достичь заданную цель закончилась успешно, напечатать ответ и остано виться.
B. Если заданные ресурсы исчерпаны, напечатать сообщение об этом и остановиться.
C.Если непроверенных целей не осталось, напечатать сообщение об этом и остановиться.
D.Выбрать непроверенную цель, от которой попы таться породить другие.
118 |
|
Г Л А В А 6 |
E. Если нет больше целей, которые могут быть порож |
||
дены от выбранной, |
перейти |
к шагу В. |
F. Породить от выбранной цели следующую непро |
||
веренную цель G. |
|
|
G. Если попытка |
найти |
непосредственное решение |
из новой цели G закончилась успешно, достичь заданной цели и остановиться. Если попытка закончилась неудачно, перейти к шагу Е.
В ЛТ процедура поиска непосредственного решения подобна процедуре стандартного вида в SAINT. В ЛТ используется процедура поиска «сначала вширь». Таким образом, выбор на шаге D является не очень хорошим. Однако читателю следует твердо запомнить следующее. Предположим, что дизъюнктивная программа включает программу, которая способна хорошо оценивать, на сколько программа близка к достижению любой непро веренной цели. В этом случае проблема выбора удовле творительно решается путем выбора дизъюнктивной про граммой на шаге D той непроверенной цели, к достиже нию которой она наиболее близка. Читателю следует сопоставить это решение с (пока еще) нерешенной пробле мой выбора для дизъюнктивно-конъюнктивных программ, таких, как SAINT.
Действие программы и выводы. ЛТ была проверена на доказательстве последовательности из 52 первых тео рем «Принципов математики». Одновременно с каждой предъявленной для доказательства теоремой ЛТ давались аксиомы и все теоремы, уже доказанные ранее в книге,
причем не принималось во внимание то, были ли эти |
тео |
|
ремы доказаны ЛТ |
или нет. Программа доказала 38 из |
|
52 теорем. В 17 из |
38 доказательств преобразования |
не |
использовались (попытки сразу достичь первоначально заданной цели закончились успешно). В 19 случаях было использовано одно преобразование, а в двух случаях использовались два преобразования. Так как в боль шинстве из 14 закончившихся неудачно попыток должно было потребоваться не менее двух преобразований и так как разветвление, определяемое процедурой «сначала вширь», очень велико, любой разумный запас ресурсов при доказательстве этих 14 теорем исчерпывался. Скорость доказательства теорем программой выгодно сопоставима
Д Р У Г И Е П Р О Г Р А М М Ы Д Л Я Р Е Ш Е Н И Я МАТЕМАТИЧЕСКИХ З А Д А Ч |
Ц 9 |
со скоростью доказательства этих теорем студентами. Глав ным стремлением исследователей было достичь лучшего понимания естественного интеллекта путем составле ния программы, которая имитировала бы процесс реше ния людьми интеллектуально трудных задач на доказа тельство теорем в исчислении высказываний. Они обна ружили, что ЛТ и многие люди, грубо говоря, пользуются одинаковыми общими методами. ЛТ производит поиск («сначала вширь») на дереве, используя преобразования и пытаясь найти непосредственные решения. В предыду щем подразделе мы привели общую процедуру, которая дает возможность принимать хорошие решения относи тельно того, где начинать построение пути на дизъюнк тивном дереве целей, или, что эквивалентно, на дереве игры одного лица.
6.2. ПРОГРАММА, КОТОРАЯ П Р О В Е Р Я Е Т М А Т Е М А Т И Ч Е С К И Е Д О К А З А Т Е Л Ь С Т В А
Пол Абрахаме составил машинную программу для проверки математических доказательств. Впервые идею написания программы для проверки математических дока зательств высказал Дж. Ліаккарти. Часть программы Абрахамса (1963) проверяет строгость доказательств, сформулированных на языке исчисления предикатов. Используемый способ является более сложным, чем опре деленный в предыдущей главе принцип резолюции. Его система включает 10 элементарных правил вывода, кото рые здесь не будут приведены, так как в связи с появле нием принципа резолюции они устарели. Другая часть этой программы преобразует доказательство, сделанное в какой-то области математики (такой, как пропозициональ ное исчисление или теория групп), в доказательство в ис числении предикатов, которое затем проверяется. Иногда этой пробразующей программе требуется провести неко торый поиск методом проб и ошибок. Программа читает перфокарты, содержащие теорему и доказательство. Если проверка доказательства дает положительный результат, программа выдает на печать доказательство на языке ис числения предикатов и сообщает о том, что теорема истинна.
120 |
Г Л А ВА в |
При написании этой программы Абрахаме преследо вал несколько целей. Задача проверки доказательств принадлежит к числу хорошо определенных задач. Он хотел посмотреть, какого уровня качества и какой ско рости работы может достигнуть его программа, реали зованная на современных вычислительных машинах. До бавим, что проверка доказательств может оказаться по лезной и сама по себе. Она могла бы помочь выявлению ошибочных доказательств и «теорем», которые иногда публикуются, и могла бы также проверять истинность доказательства того, что та или иная программа для вы числительной машины действительно удовлетворяет своим спецификациям.
Для современных систем отладки программ доказа тельство того, что программа работает правильно, недо сягаемо. В процессе отладки правильность программы устанавливают путем проверки ее при решении лишь не скольких задач, которые позволяют просмотреть обычно очень небольшой процент от всех возможных режимов работы программы. С годами программа для проверки доказательств могла бы делаться все более изощренной, способной анализировать доказательства, содержащие все более длинные шаги. Прослеживая эти шаги, программа в конце концов превратилась бы в систему, доказываю щую теоремы.
Действие программы очень интересно. Из-за ограничен |
|
ности используемого объема памяти программа не могла |
|
проверять доказательства в теории групп. Поэтому в |
|
заключение данного раздела будут рассмотрены резуль |
|
таты проверки ею доказательств только в пропозициональ |
|
ном исчислении. Абрахаме набил на перфокартах первые |
|
67 теорем и их доказательства из «Принципов математи |
|
ки» и ввел эти карты в рабочее поле программы. При этом |
|
в некоторых доказательствах были обнаружены дефекты. |
|
Например, в одном доказательстве делалась ссылка на не |
|
относящуюся к делу теорему, |
в других доказательствах |
использовались недоказанные |
и даже ранее не упоминав |
шиеся правила вывода. |
Абрахамсу |
удалось |
исправить |
все доказательства, кроме |
одного. К |
концу эксперимента |
|
по пповерке доказательств из 67 теорем были |
проверены |
||
63. Попытка верифицировать три из |
оставшихся непро- |