logo
МЛиТА 6 - 7

6.3. Алгоритмическая логика Хоара

Интуитивно программа понимается как набор операторов, переводящих машину из одних состояний в другие. Хоар предложил для отладки и верификации программ рассматривать формулы, описывающие состояния машины перед выполнением (предусловие) и после выполнения (постусловие) программы. Программе  сопоставлялась запись: {А}{В}, означающая, что предусловие описывается формулой А, а постусловие формулой В. Пратт предложил запись: А  []В – если перед выполнением программы состояние машины описывается формулой А, то после выполнения верна формула В. Это позволило описывать вычислительные процессы, состоящие из комплексов программ, с помощью модальной логики, рассматривая каждую программу как модальность.