У меня относительно простой вопрос, он вызывает у меня некоторые проблемы с Изабель.
Я пытаюсь доказать следующее:
∃ b . inv_Board b
Доска представляет собой набор. Инвариант на борту:
card b <= FINISHED
Где закончилось значение int 24. Я использую свои собственные типы, поэтому на самом деле это тип VDMNat, и я должен привести его так:
int (card b) <= FINISHED
Кувалда не работает, у меня есть 1 подцель:
∃b. int (card b) ≤ FINISHED
есть идеи?
b
конкретным значением в том контексте, для которого, как вы знаете, выполняется инвариант? Что произойдет, если вы сделаетеapply (rule exI[of _ b])
? - person Manuel Eberl   schedule 22.12.2015b
? Работает ли доказательство, если сформулировать инвариант без вашей специальной типизации, т.е. сcard b <= 24
? - person Ben Keks   schedule 22.12.2015