
19.4. ТЕОРЕМА О ВЕРИФИКАЦИИ
481
Схематически его можно описать следующим образом. Выходные
переменные объявляются действующими. Далее идем по графу вывода
вверх и объявляем действующей ту информацию в посылках выводов.
которая нужна для получения действующих частей заключения. После
того, как прошли по выводу, возвращаемся вниз и пересчитываем ти-
пы, соответствующие формулам, с учетом лишь действующих их ком-
понент.
Более того, призрачными могут быть целые типы данных. Напри-
мер, оценки, используемые в доказательствах завершаемости циклов,
могут принадлежать некоторому абстрактному множеству, даже более
общему, чем множество ординалов, скажем, до
ε
0
, и задаваться вопро-
сом о реализации данного множества не нужно.
§ 19.4. ТЕОРЕМА О ВЕРИФИКАЦИИ
Рассмотрим следующую задачу, которая часто ставится теоретиками и
практиками для программирования.
Дана программа, доказать ее правильность.
Содержательный анализ этой задачи сразу же выявляет некоторые по-
дозрительные места. Если уже дана программа и она работает, то зачем
же доказывать ее правильность? Если же еще нет уверенности в том,
всегда ли она работает, не разумнее ли было бы поставить задачу попы-
таться найти слабые места в данной программе? Далее, своевременно ли
ставится эта задача, может быть, разумнее было бы ставить ее не
тогда, когда программа уже дана, а тогда, когда она еще создается?
Словом,при получении такой задачи невольно закрадывается мысль,
что в данном случае скорее нужно было бы не доказательство, а закли-
нание либо молитва, дабы освятить уже готовое решение.
Анализ положения дел в данной области подтверждает подозрения.
Конечно же, были случаи, когда программу доказывали, после чего в
ней находили ошибку. Конечно же, теоретические системы доказатель-
ства правильности программ не работали почти ни в одном практически
пригодном случае. А если где-то и работали, немедленно отказывались
работать при малейших расширениях либо видоизменениях класса про-
грамм
3
.
3
Если же отходить от требований строгости, то получаемую конструкцию доказатель-
ством нельзя называть. Предложение не может быть на 80% доказанным, как и женщи-