Обязательство по подтверждению полной функции 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 содержит инструкции для этого.

(Этот ответ был обновлен после некоторых пояснений в комментариях.)

Другие вопросы по тегам