View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0002501 | Frama-C | Plug-in > wp | public | 2020-03-10 11:44 | 2020-06-12 08:59 | ||||
Reporter | jens | ||||||||
Assigned To | AllanBlanchard | ||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | Linux, macOS | OS Version | ||||||
Product Version | Frama-C 20-Calcium | ||||||||
Target Version | Fixed in Version | Frama-C 21-Scandium | |||||||
Summary | 0002501: error in generated proof obligation | ||||||||
Description | The attached file 'issue.c' contains a simplified (but still not very small) example of an issue I have within ACSL by Example. There is lemma R_2 for the logic function R. The definition of R uses the logic function F contained in the axiomatic block A. When trying to verify R_2 with the command line below I obtain the message [Why3 Error] anomaly: Failure("Can't find 'L_F' in why3 namespace") frama-c -wp -wp-prover alt-ergo -wp-prover native:coq issue.c [kernel] Parsing issue.c (with preprocessing) [wp] Warning: native support for coq is deprecated, use tip instead [wp] 2 goals scheduled [wp] [Failed] Goal typed_lemma_R_2 Alt-Ergo 2.3.1: Failed [Why3 Error] anomaly: Failure("Can't find 'L_F' in why3 namespace") Coq: Unknown [wp] [Cache] found:1 [wp] Proved goals: 1 / 2 Qed: 0 Coq: 0 (unknown: 1) Alt-Ergo 2.3.1: 1 (10ms) (23) (cached: 1) (failed: 1) When looking at the generated verification condition with Coq I found the following: The generated hypothesis 'FixL_R' uses of course the function 'L_F'. However, the necessary import clause 'Require Import A_A.' comes only AFTER the definition of 'FixL_R'. | ||||||||
Additional Information | There is a work-around by calling the helper function 'Fix' in the definition of R (see the comment in the code). The problem also "disappears' if lemma 'R_1' is removed (but I don't have this option). While looking at this problem, I noticed that in general coq definitions and import clauses are interspersed in the verification conditions... | ||||||||
Tags | No tags attached. | ||||||||
Attached Files |
|
![]() |
|
jens (reporter) 2020-05-09 16:45 |
With 20.0+dev (Calcium), installed early May 2020 from https://git.frama-c.com/pub/frama-c, the error is still present. |
AllanBlanchard (developer) 2020-05-12 17:12 Last edited: 2020-05-12 17:27 |
The problem has been fixed. The fix will be available in the next release (and in the upcoming bĂȘta) but not immediately in the public development version. |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2020-03-10 11:44 | jens | New Issue | |
2020-03-10 11:44 | jens | Status | new => assigned |
2020-03-10 11:44 | jens | Assigned To | => correnson |
2020-03-10 11:44 | jens | File Added: issue.c | |
2020-03-16 12:32 | correnson | Assigned To | correnson => AllanBlanchard |
2020-05-09 16:46 | jens | Note Added: 0006971 | |
2020-05-12 17:12 | AllanBlanchard | Note Added: 0006972 | |
2020-05-12 17:12 | AllanBlanchard | Status | assigned => resolved |
2020-05-12 17:12 | AllanBlanchard | Fixed in Version | => Frama-C 21-Scandium |
2020-05-12 17:12 | AllanBlanchard | Resolution | open => fixed |
2020-05-12 17:27 | AllanBlanchard | Note Edited: 0006972 | View Revisions |
2020-06-12 08:59 | signoles | Status | resolved => closed |