Information on C type of array is not present (in Coq)
ID0002332: This issue was created automatically from Mantis Issue 2332. Further discussion may take place here.
Id | Project | Category | View | Due Date | Updated |
---|---|---|---|---|---|
ID0002332 | Frama-C | Plug-in > wp | public | 2017-11-22 | 2019-10-17 |
Reporter | jens | Assigned To | correnson | Resolution | no change required |
Priority | normal | Severity | major | Reproducibility | always |
Platform | Linux, macOS | OS | - | OS Version | - |
Product Version | Frama-C 15-Phosphorus | Target Version | - | Fixed in Version | - |
Description :
In the attached file 'array.c' there are two simple predicates 'AllEqual' and 'Constant' that involve int arrays. There are also two lemmas that relate both predicate. While it can automatically verified that "Constant" implies "AllEqual" the proof of the "converse" statement fails. When looking at the Coq presentation of "AllEqual" it becomes apparent that Coq only sees an "integer array"; the specific C type (represented by the predicate 'is_sint32') is NOT present at all.
Additional Information :
The error also occurs in the beta release of Frama-C 16 (Sulfur).
Steps To Reproduce :
Run the command:
frama-c-gui -no-unicode -wp -wp-prover alt-ergo -wp-prover coq -wp-script 'wp0.script' array.c