Обязательство по подтверждению полной функции Event-B
У меня вопрос следующий: Набор A
определена и общая функция X
с инвариантным типом
X ∈ A --> BOOL
и событие A_setSate
:
A_setSate =
WHEN X(A) = TRUE
THEN X(A) := FALSE
проблема в том, что доказательство сохранения события обязательства (INV) A_setState
не может сохранить инвариант X∈ A--> BOOL
:
Я знаю, что это потому, что инвариант недостаточно силен, но я не смог создать более сильный инвариант.
полный пример: Пример обрезки
1 ответ
Пример выглядит правильным.
Пожалуйста, проверьте, установлены ли пруверы Atelier B, руководство Rodin содержит инструкции для этого.
(Этот ответ был обновлен после некоторых пояснений в комментариях.)