Skip to content

Frama-C is unsound when employing both alt-ergo and cvc4

ID0002237: This issue was created automatically from Mantis Issue 2237. Further discussion may take place here.


Id Project Category View Due Date Updated
ID0002237 Frama-C Plug-in > wp public 2016-06-30 2016-12-05
Reporter Jochen Assigned To correnson Resolution fixed
Priority high Severity major Reproducibility always
Platform - OS - OS Version xubuntu
Product Version Frama-C Aluminium Target Version - Fixed in Version -

Description :

Running "frama-c -wp -wp-out out -wp-prover alt-ergo -wp-prover cvc4 bug.c" on the attached file "bug.c" proves both lemmas, although they are both obviously false. A look at file "lemma_Two_Alt-Ergo.mlw" shows that Alt-ergo proved in fact One==>Two, while a look at file "Axiomatic.why" indicates that cvc4 proved in fact Two==>One.

Apparently, the order of lemmas is reversed when piping through "why" - the output generated for coq amounts to "prove One" and "prove One==>Two", similar to that for Alt-ergo.

The problem disappeared when the type of the bound variable "x" was changed to "integer".

Attachments

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information