Frama-C-discuss mailing list archives
This page gathers the archives of the old Frama-C-discuss archives, that was hosted by Inria's gforge before its demise at the end of 2020. To search for mails newer than September 2020, please visit the page of the new mailing list on Renater.
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Frama-c-discuss] Frama-C / Jessie-Plugin
- Subject: [Frama-c-discuss] Frama-C / Jessie-Plugin
- From: barbaraisabelvieira at gmail.com (Bárbara Vieira)
- Date: Fri, 23 Jan 2009 11:33:43 -0000
Hi everyone! Can anybody help, and tell me why this code generate four proof-obligations to the post-condition and 5 proof- obligations to the assertion, when it is just supposed to generate only 2 proof-obligations for post-conditions and 3 proof-obligations to the assertion. (Using the predefined option ?why-opt ?split-user-conj is Jessie). /*@ requires len>=0 && @ \valid_range(a,0,len-1) && @ \valid_range(b,0,len-1); @ ensures (\at(a,Here) == \at(a,Old) + len) && @ (\at(b,Here) == \at(b,Old) + len); @*/ void func(const unsigned long len,const unsigned char *a, unsigned char *b) { int i; i=(int)(len); if (i) { /*@ loop invariant 0<=i<=len && @ a == \at(a,Pre) + (len-i) && @ b == \at(b,Pre) + (len-i); @ loop variant i; @*/ while (i>0) { a[0] == b[0] + 1; a++; b++; --i; //if (--i == 0) break; } } /*@ assert i==0 && @ a == \at(a,Pre) + (len-i) && @ b == \at(b,Pre) + (len-i); @*/ } I made a post some days ago, but I didn?t get an answer. I supposed that the problem of generating so many proof-obligations was because I was using a ?break?. Here, I?m not using a break, to avoid the intermediate proof-obligations that are generated and are related with the post-condition. In this code I don?t understand the proof-obligations that are generated related with the post-conditions too, because they seem to appear duplicated. Probably there is some inconsistence in the code, because the last proof-obligation is mysteriously proved using Simplify, and I don?t understand how it is provable. If anybody can help, I appreciate a lot. Thanks in advance. Best regards, B?rbara -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.gforge.inria.fr/pipermail/frama-c-discuss/attachments/20090123/bd0527dc/attachment.htm
- Follow-Ups:
- [Frama-c-discuss] Frama-C / Jessie-Plugin
- From: Jean-Christophe.Filliatre at lri.fr (Jean-Christophe Filliâtre)
- [Frama-c-discuss] Frama-C / Jessie-Plugin
- Prev by Date: [Frama-c-discuss] bug with loop invariant, wrong loop invariant gets proven
- Next by Date: [Frama-c-discuss] Frama-C / Jessie-Plugin
- Previous by thread: [Frama-c-discuss] bug with loop invariant, wrong loop invariant gets proven
- Next by thread: [Frama-c-discuss] Frama-C / Jessie-Plugin
- Index(es):