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] [Jessie] loop invariant
- Subject: [Frama-c-discuss] [Jessie] loop invariant
- From: rovedy at ig.com.br (Rovedy Aparecida Busquim e Silva)
- Date: Thu, 12 Sep 2013 15:06:54 -0300
- In-reply-to: <522AEE91.5080402@inria.fr>
- References: <CAEtoXR21n9RPnwGE_UQ7zDjqrNPjhhRMuG5kQdzM=SjH7z+9CA@mail.gmail.com> <52162B8A.4080703@inria.fr> <CAEtoXR2DsVLvtKZM9PiFNPxx-=w11eY0sr2WNQ4ymdv74P-h4A@mail.gmail.com> <5216629A.5080303@inria.fr> <CAEtoXR3XiHDCd49mKyKh4GLL6ozO48u97AmeMc5qSCrhhgthow@mail.gmail.com> <CA+yPOViR89rE7Bg5Zkx5Lu5PQs8xz6RDAhSBZ1m-afYzgdgVAA@mail.gmail.com> <522AEA5A.3080809@inria.fr> <522AEE91.5080402@inria.fr>
Hi, We have run the example as suggested by Claude (http://proval.lri.fr/gallery/ScalarProduct.en.html). We used the example annotations in our code (attached) and the all VCs were proved. However, we have some doubts: 1. We have used the lemma bound_int_to_real but we did not understand how it works. Why the define NMAXR is used? 2. The variable j used in the loop was global in the legacy source code. However, the loop invariant was not proved (loop invariant \abs(p - sum(x,j)) <= j * BOUND). We changed the variable j to local and the loop invariant was proved. Does not the loop invariant work with global variable? Best regards, Nanci, Luciana e Rovedy 2013/9/7 Claude Marche <Claude.Marche at inria.fr> > > > > On 09/07/2013 10:56 AM, Claude Marche wrote: >>> >>> Alternatively, you can force the computation into float in sum >>> by modifying your axiom: >>> @ axiom sum2{L} : >>> @ \forall float *t, integer i, j; >>> @ sum(t,i,j+1) == (float)(sum(t,i,j) + t[j]); >>> But this is not a very good idea IMHO: as floating point addition is > > > A very bad idea indeed. > > - claude > > > _______________________________________________ > Frama-c-discuss mailing list > Frama-c-discuss at lists.gforge.inria.fr > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/frama-c-discuss -------------- next part -------------- A non-text attachment was scrubbed... Name: site003_43.c Type: text/x-csrc Size: 2255 bytes Desc: not available URL: <http://lists.gforge.inria.fr/pipermail/frama-c-discuss/attachments/20130912/a035966a/attachment.c>
- Follow-Ups:
- [Frama-c-discuss] [Jessie] loop invariant
- From: Claude.Marche at inria.fr (Claude Marche)
- [Frama-c-discuss] [Jessie] loop invariant
- References:
- [Frama-c-discuss] [Jessie] loop invariant
- From: rovedy at ig.com.br (Rovedy Aparecida Busquim e Silva)
- [Frama-c-discuss] [Jessie] loop invariant
- From: virgile.prevosto at m4x.org (Virgile Prevosto)
- [Frama-c-discuss] [Jessie] loop invariant
- From: Claude.Marche at inria.fr (Claude Marche)
- [Frama-c-discuss] [Jessie] loop invariant
- From: Claude.Marche at inria.fr (Claude Marche)
- [Frama-c-discuss] [Jessie] loop invariant
- Prev by Date: [Frama-c-discuss] How to determine a function is non determine function or not programmatically?
- Next by Date: [Frama-c-discuss] How to obtain a base variable's original variable?
- Previous by thread: [Frama-c-discuss] [Jessie] loop invariant
- Next by thread: [Frama-c-discuss] [Jessie] loop invariant
- Index(es):