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] floating-point examples
- Subject: [Frama-c-discuss] floating-point examples
- From: sylvie.boldo at inria.fr (Sylvie Boldo)
- Date: Wed, 17 Apr 2013 11:17:25 +0200
- In-reply-to: <E91A4D5F-4C01-4439-B4FC-F3D0B8490DC8@udel.edu>
- References: <CAOH62JgFFuwTA_cQpPALG4wHx8-bmWGjPHN7+eji73Yooovqaw@mail.gmail.com> <CAOH62Jg8KeGbqL_L6-Co2RofRvT+KqkcTgTWv2yuzC7pE8aCQQ@mail.gmail.com> <887A9EEF-2A1A-4EDA-BCCD-3C3CBB16E74D@udel.edu> <5162DEA7.5000504@inria.fr> <2B730EC4-CE90-4D06-91BA-BE4794D8D6FD@cea.fr> <500749DB-ED6B-4CCD-8C3A-CA4A505C4D6E@udel.edu> <51643C0B.7070508@inria.fr> <9EAA8DF0-39FC-4972-93FF-59F9169F04FF@udel.edu> <AA299646-74BB-477F-90E9-8D4A86395B88@udel.edu> <6D0787A7-91FD-4310-A0AC-EEAE8BD6DAE5@udel.edu> <516BA9EF.2020100@inria.fr> <E91A4D5F-4C01-4439-B4FC-F3D0B8490DC8@udel.edu>
Hi, If you look for the proofs of floating-point examples, you can find them on https://www.lri.fr/~sboldo/research.html (I did most of the FP examples of the toccata gallery, but the Coq proofs are only on my web page). On 04/15/2013 05:37 PM, Stephen Siegel wrote: > Claude & Virgile: > Thanks for the pointers. Looking at the examples, it seems that most (but not all) non-trivial verifications of floating-point examples require Coq and therefore some > human intervention (as opposed to being totally automated). Would this be an accurate generalization of the state of the art at this point in time? > I do not fully agree. It mainly depends on what you mean by "non-trivial". If you want clever forward analysis/interval arithmetic, Gappa does that for you (you may have to help it by telling it which variable to bisect), but it works. If you want floating-point tricks, you have to go into interactive proofs. Note that very often, what you need is mathematical proofs, and they have to be done manually. For example, in the cosine example (http://toccata.lri.fr/gallery/MyCosineACSL.en.html), the fact that cos(x) ~ 1-x^2 is the difficult fact that requires Coq. It is not a FP property: everything related to FP is done by gappa here. Hope this helps, Sylvie Boldo > On Apr 15, 2013, at 1:19 AM, Claude March? <Claude.Marche at inria.fr> wrote: > >> >> See >> >> http://toccata.lri.fr/gallery/MyCosineACSL.en.html >> http://hal.inria.fr/hal-00777605 >> >> - Claude >> >> Le 15/04/2013 04:48, Stephen Siegel a ?crit : >>> I'm looking for some simple, interesting floating-point examples that can be proved with Frama-C+Jessie. Here is a good example from the ACSL manual: >>> >>> /*@ requires \abs(\exact(x)) <= 0x1p-5; >>> @ requires \round_error(x) <= 0x1p-20; >>> @ ensures \abs(\exact(\result) - \cos(\exact(x))) <= 0x1p-24; >>> @ ensures \round_error(\result) <= \round_error(x) + 0x3p-24; >>> @*/ >>> float cosine(float x) { >>> return 1.0f - x * x * 0.5f; >>> } >>> >>> However, I can't get any of the theorem provers (CVC3, Z3, Alt-Ergo, Gappa, Simplify) to prove either of the generated VCs. (For all I know, the function may not even satisfy the contract.) Does anyone know of any examples similar to this that can be proved, or have ideas on how to handle this example? >>> Thanks in advance! >>> _______________________________________________ >>> 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 >>> >> >> -- >> Claude March? | tel: +33 1 72 92 59 69 >> INRIA Saclay - ?le-de-France | >> Universit? Paris-sud, Bat. 650 | http://www.lri.fr/~marche/ >> F-91405 ORSAY Cedex | >> >> >> _______________________________________________ >> 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 > > > _______________________________________________ > 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 > -- Sylvie Boldo, projet Toccata, Inria Saclay - ?le-de-France PCRI, B?t. 650 - Universit? Paris-Sud - 91405 ORSAY Cedex
- References:
- [Frama-c-discuss] installing frama-c on Mac
- From: siegel at udel.edu (Stephen Siegel)
- [Frama-c-discuss] installing frama-c on Mac
- From: Claude.Marche at inria.fr (Claude Marché)
- [Frama-c-discuss] installing frama-c on Mac
- From: loic.correnson at cea.fr (Loïc Correnson)
- [Frama-c-discuss] which provers to use
- From: siegel at udel.edu (Stephen Siegel)
- [Frama-c-discuss] which provers to use
- From: Claude.Marche at inria.fr (Claude Marché)
- [Frama-c-discuss] which provers to use
- From: siegel at udel.edu (Stephen Siegel)
- [Frama-c-discuss] which provers to use
- From: siegel at udel.edu (Stephen Siegel)
- [Frama-c-discuss] floating-point examples
- From: siegel at udel.edu (Stephen Siegel)
- [Frama-c-discuss] floating-point examples
- From: Claude.Marche at inria.fr (Claude Marché)
- [Frama-c-discuss] floating-point examples
- From: siegel at udel.edu (Stephen Siegel)
- [Frama-c-discuss] installing frama-c on Mac
- Prev by Date: [Frama-c-discuss] floating-point examples
- Next by Date: [Frama-c-discuss] New Frama-C version: Fluorine
- Previous by thread: [Frama-c-discuss] floating-point examples
- Next by thread: [Frama-c-discuss] termination
- Index(es):