invariant with quantifier not kept in computed slice
ID0000448: **This issue was created automatically from Mantis Issue 448. Further discussion may take place here.** --- | **Id** | **Project** | **Category** | **View** | **Due Date** | **Updated** | | --- | --- | --- | --- | --- | --- | | ID0000448 | Frama-C | Plug-in > slicing | public | 2010-04-13 | 2014-02-12 | | | | | | | | | --- | --- | --- | --- | --- | --- | | **Reporter** | dpariente | **Assigned To** | Anne | **Resolution** | fixed | | **Priority** | normal | **Severity** | minor | **Reproducibility** | always | | **Platform** | - | **OS** | - | **OS Version** | - | | **Product Version** | Frama-C GIT, precise the release id | **Target Version** | - | **Fixed in Version** | Frama-C Carbon-20101201-beta1 | ### Description : On the following code: void L (float u,int nn, float dabs[], float *y) { int ii; /*@ loop invariant (\forall integer k; 0<=k<ii ==> u<=dabs[k]); */ for (ii = nn-2; ii >= 0; ii--) *y = u - dabs[ii+1] * 2.0; //@slice pragma expr *y; } analyzed with: frama-c -slicing-keep-annotations -slice-pragma L -slice-print -ocode L_sliced.c -main L -lib-entry l.c the computed slice does not contain the invariant. (Please note that the invariant annotation is not relevant nor provable, but just illustrates the problem met)
issue