Frama-C/WP "forgets" a proven assertion
ID0001751: This issue was created automatically from Mantis Issue 1751. Further discussion may take place here.
Id | Project | Category | View | Due Date | Updated |
---|---|---|---|---|---|
ID0001751 | Frama-C | Plug-in > wp | public | 2014-04-11 | 2015-03-17 |
Reporter | jens | Assigned To | patrick | Resolution | fixed |
Priority | high | Severity | major | Reproducibility | always |
Platform | - | OS | - | OS Version | - |
Product Version | Frama-C Neon-20140301 | Target Version | - | Fixed in Version | Frama-C Sodium |
Description :
In the following function
void strange_after_shift(unsigned int x) { unsigned int y = x & 1; //@ assert y == 0 || y == 1; //@ assert 0 <= y <= 1; }
the first assertion is discharged by Qed but the second assertion (which should also hold) is not discharged with Alt-Ergo. Moreover, when I try to prove it with Coq, then I cannot see any hypothesis that represents the first assertion.