Я пытаюсь проверить свой код в Dafny, и у меня возникла проблема: У меня есть метод, который выполняет итерацию по последовательности и меняет ее. Метод изменяет последовательность в соответствии с элементами в последовательности. Я хотел бы добавить условие сообщения следующим образом: «если элементы в последовательности X, то что-то должно произойти». Проблема в том, что метод изменяет набор (добавляет элемент и т. Д.), И я хочу проверить состояние исходной последовательности. Есть ли элегантный способ сделать это в Дафни? (Единственный способ, о котором я мог думать сейчас, - сохранить глобальный var исходного состояния последовательности, но я ищу правильный способ сделать это).Проверка Dafny - обратитесь к оригинальному var в состоянии post
Пример кода:
method changeSeq(p: class1, s: seq<class1>)
ensures |s| == 10 ==> p in s
{
if (|s| == 10){
s := s + [p];
}
}
В коде, я хочу пост состояние проверить оригинал s стат, а не его стат после того как мы изменили его.
Это не дает ответа на вопрос. Чтобы критиковать или просить разъяснения у автора, оставьте комментарий ниже их сообщения. - [Из обзора] (/ review/low-quality-posts/15027572) –
Как вы можете сказать, что это не дает ответа? Я понимаю проблему и думаю, что это правильный ответ. – deLta
Есть ли документация для * old *, к которой вы могли бы обратиться? – Jon