known, but inferrable, yet not inferred, property not given as precodition to provers
ID0002330: This issue was created automatically from Mantis Issue 2330. Further discussion may take place here.
|ID0002330||Frama-C||Plug-in > wp||public||2017-10-26||2020-02-17|
|Platform||Phosphorus-20170501||OS||-||OS Version||xubuntu 17.04|
|Product Version||-||Target Version||-||Fixed in Version||Frama-C 20-Calcium|
Running "frama-c -wp foo.c -wp-out wp-out -wp-prop=D" on the attached program fails to prove the property D, although it follows immediately from A and C. A look at the generated file "foo_assert_D_Alt-Ergo.mlw" reveals that the condition "y<=15" from C is not given to Alt-Ergo, while "0<=y" is. If the former is inserted into the mlw file, Alt-Ergo proves the goal without problems. Probably, "y<=15" is considered a trivial consequence of "y==(x&0xf)" by Qed; however, it shouldn't, since (e.g.) Alt-Ergo is unable to to infer this: goal C cannot be proven by Alt-Ergo.
Steps To Reproduce :
Name translation c -> mlw for convenience:
x -> i y -> x z -> x_1