КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Пропозициональная динамическая логика
Алгоритмическая логика Since, Until Для любых формул А и В добавляются формулы ASB и AUB. Семантика в моде- ли M=(W, <, h): · (M, w|-AUB), если и только если для некоторого w1>w верно (M, w1|-B) и при всех v, удовлетворяющих соотношениям w<v<w1, верно (M, v|-A), т.е. А верно до тех пор, пока не В; · (M, w|- ASB), если и только если для некоторого w1<w верно (M, w1|-B), а для всех v, удовлетворяющих соотношениям w1<v<w, верно (M, v|- A), т.е. с тех пор, как случилось В, верно А. В 70-х годах XX века назрела проблема верификации программных комплексов. Необходимо было так описать семантику языка программирования, чтобы писать программу вместе с доказательством ее верности, а для этого необходимо построить логическую систему, опирающуюся на аксиоматику и правила вывода каждой конструктивной единицы языка программирования. Так начала формироваться алгоритмическая логика. Интуитивно программа понимается как набор операторов, переводящих машину из одних состояний в другие. Хоар предложил для отладки и верификации программ рассматривать формулы, описывающие состояния машины перед выполнением (предусловие) и после выполнения (постусловие) программы. Программе p сопоставлялась запись: {А}p{В}, означающая, что предусловие описывается формулой А, а постусловие - формулой В. Пратт предложил запись: А ® [p]В – если перед выполнением программы состояние машины описывается формулой А, то после выполнения верна формула В. Это позволило описывать вычислительные процессы, состоящие из комплексов программ, с помощью модальной логики, рассматривая каждую программу как модальность. Пусть P0 – произвольное множество, элементы которого называются базисными программами. Предположим, что PÊP0 – такое множество слов, что вместе с любыми p1, p2ÎP оно содержит: 1) p1Èp2 (неопределённый выбор одной из программ p1 или p2); 2) p1;p2 (выполнение p1, затем p2); 3) p1* (выполнение p1 конечное, возможно нулевое, количество раз); 4) p1Çp2 (одновременное выполнение программ p1 и p2). Элементы из P будем называть программами. Рассмотрим атомы из Р как простые высказывания о состояниях машины, в которую загружаются программы[9]. Для каждой программы pÎP обозначим через [p] соответствующую ей модальность. Определим формулы пропозициональной динамической логики PDL[10] по индукции: 1) атомы рÎР – формулы; 2) А&В, ØА, [p]А – формулы для любых формул А, В и элемента pÎP; 3) все формулы PDL составляются с помощью правил 1 – 2. Введём обозначение: <p>А как сокращение для Ø[p]ØА. Для каждой формулы А определим программу: А?ÎP, тестирующую, верна ли формула А. Эта программа заканчивает работу, если формула А верна, и зависает (аварийно завершает работу) в противном случае. Эта программа вводится с целью интерпретации оператора if (A) then p1 else p2 как программы (А?; p1)È((ØА)?; p2)ÎP.
Дата добавления: 2014-01-04; Просмотров: 488; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |