Состоялась лекция, посвящённая основам языка ACSL. Были рассмотрены вопросы:
- где инструмент расставляет точки сечения у циклов;
- как выразить индуктивное утверждение в автоматических точках сечения
(конструкцииloop invariant
); - как добавлять свои утверждения в формулу пути (конструкция
assert
); - какие новые условия верификации добавляет конструкция
assert
; - какое фундированное множество выбрано в инструменте;
- как выразить оценочную функцию в точках сечения (конструкция
loop variant
); - логические функции и предикаты:
- явное объявление именованных предикатов и логических функций;
- использование предикатов и логических функций в выражениях;
- о порядке логики в логических функциях и предикатах;
- индуктивное задание предикатов;
- аксиоматическое задание логических функций и предикатов;
- тотальность логических функций и предикатов.