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