Нарушение утверждения в MVS с Дафни, но это проверено в rise4fun - PullRequest
0 голосов
/ 09 октября 2019

https://rise4fun.com/Dafny/ZkKN

Это утверждение не подтверждено Дафни 2.3.0. через MVS, но проверяется в rise4fun, конечно, с предупреждением о триггерах. Вызывает «Проверка не завершена».

Более того, https://rise4fun.com/Dafny/Um6t не печатает «привет» (не работает) в rise4fun. Должна быть какая-то ошибка, так как нет «нарушения утверждения». Пожалуйста, помогите?

1 Ответ

0 голосов
/ 14 октября 2019

Ваша программа проверяет, когда я добавляю флаг -arith:2, который добавляет символические синонимы для арифметических символов и позволяет использовать их в триггерах.

Редактировать: Более общий ответв том, что ваша задача использует нелинейную арифметику, которая в общем неразрешима. В * 1007 есть несколько советов по работе с ними:

У меня нет особого опыта работы с Дафни и нелинейной арифметикой. *1008* *1009* Я не знаю, почему ваш файл имеетработал раньше, но для исследования можно было распечатать SMT-кодировку Dafny-каналов в Z3 (см. Дафни-вывод в виде SMT-файла ) и сравнить разные версии, если нет разницы, возможно, есть разница между версиями Z3.

Может быть, есть способ по-разному кодировать вашу проблему, который работает более стабильно между различными версиями решателя, при условии, что ни в одном из инструментов нет ошибок.

...