Почему проверка этого примера с Dafny не удалась?

Ответ Денниса правильный. Однако я хотел бы объяснить это решение немного более подробно (для пользователя Windows):

  1. Зайдите в свое меню «Пуск» и введите regedit в поле поиска.
  2. Перейдите к пути HKEY_LOCAL_MACHINE\Software\JavaSoft (теперь у Windows 10 есть это: HKEY_LOCAL_MACHINE\Software\WOW6432Node\JavaSoft)
  3. Щелкните правой кнопкой мыши папку JavaSoft и нажмите New -> Key
  4. Назовите новый ключ Prefs, и все должно работать.

В качестве альтернативы сохраните и выполните файл *.reg со следующим содержимым:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\JavaSoft\Prefs]
0
задан Pikachu the Watermelon Wizard 7 March 2019 в 01:53
поделиться

1 ответ

Да, вы можете получить контрпример. Если вы используете Visual Studio, просто нажмите на красный круг, где ошибка. Это вызывает отладчик проверки. Если вы используете VS Code, нажмите F7 (см. https://marketplace.visualstudio.com/items?itemName=correctnessLab.dafny-vscode ). Это подтвердит вашу программу и покажет вам некоторую информацию из контрпример.

В вашем случае эти контрпримеры показывают x и y как равные и изначально x[0]==y[0]==1. Действительно, начиная с этого начального состояния, test5 не будет устанавливать заявленное постусловие.

Rustan

0
ответ дан Rustan Leino 7 March 2019 в 01:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: