Skip to content

Unsoundness bug using native alt-ergo and Why3 due to reordering of lemmas

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


Id Project Category View Due Date Updated
ID0002011 Frama-C Plug-in > wp public 2014-12-02 2014-12-02
Reporter jzinzind Assigned To correnson Resolution open
Priority high Severity major Reproducibility always
Platform Linux OS Ubuntu OS Version 14.04
Product Version Frama-C Neon-20140301 Target Version - Fixed in Version -

Description :

One can prove the following : /*@ axiomatic Bla{ predicate Pred(integer x); lemma lemme1: \forall integer x; Pred(x) ; lemma lemme2: \forall integer x; Pred(x) ; } */ using native alt-ergo and an SMT solver from the Why3 plateform. Native alt-ergo and the why3 based SMT solver do not parse the lemmas in the same order. So one can prove lemma2 assuming lemma1, the other can prove lemma1 because it assumes lemma2, and evenntually the whole axiomatic is proven. This is very problematic and confusing whenever several different SMT solvers are used.

Steps To Reproduce :

Have SMT solvers imported from why3 0.83, Frama C Neon and the WP plugin

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