Ошибка пользователя: доказатель 'alt-ergo' не найден в why3.conf
Я пытаюсь протестировать функцию с помощью Frama-c:
/*@
ensures \result >= x && \result >= y;
ensures \result == x || \result == y;
*/
int max( int x, int y){
return (x>y) ? x : y;
}
После того, как я установил все требования: OPAM, why3, alt-ergo Всякий раз, когда я выполняю frama-c -wp fct.c, я получаю:
[kernel] Parsing fct.c (with preprocessing)
[wp] Warning: Missing RTE guards
[wp] User Error: Prover 'alt-ergo' not found in why3.conf
[wp] Goal typed_max_ensures : not tried
[wp] Goal typed_max_ensures_2 : not tried
[wp] User Error: Deferred error message was emitted during execution.
See above messages for more information.
[kernel] Plug-in wp aborted: invalid user input.
1 ответ
Как упоминалось в инструкциях по установке Frama-C,
why3
должны быть явно настроены для проверки доступных пруверов через
why3 config --detect
команда (обратите внимание, что в зависимости от конкретной версии Why3, которую вы установили, вы также можете использовать
why3 config --full-config
вместо). Вы должны увидеть такой вывод:
Found prover Alt-Ergo version 2.0.0, OK.
... possibly other provers if you have installed them
Save config to /PATH/TO/HOME/.why3.conf
После этого вы сможете использовать пруверы в Frama-C/WP.