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] Combining Simplify and Coq
- Subject: [Frama-c-discuss] Combining Simplify and Coq
- From: virgile.prevosto at cea.fr (Virgile Prevosto)
- Date: Tue, 8 Jun 2010 10:21:28 +0200
- In-reply-to: <AANLkTilTjUpUZfivEkhcf8S0E73CSQ6UuXwaVvWHCbFd@mail.gmail.com>
- References: <4C0B7C42.5030704@googlemail.com> <AANLkTilTjUpUZfivEkhcf8S0E73CSQ6UuXwaVvWHCbFd@mail.gmail.com>
Hello, Le lun. 07 juin 2010 22:50:10 CEST, Pascal Cuoq <pascal.cuoq at gmail.com> a ?crit : > > Now for the remaining VCs I planned to prove with Coq, I know I can use: > > frama-c -jessie-analysis -jessie-atp coq file.c > > This creates a file file.jessie/coq/file_why.v, which I can open with the > > coqide, and start filling in the proves. > > > "Filled in" would require automatic provers to generate checkable > proof certificates, > which they don't with a few exceptions. Indeed sometimes automatic provers > have correctness bugs and validate VCs that are later found to be false. > "Assumed" is the best you can expect. > Pascal is right: except for zenon, which does not have built-in support for arithmetic, and is thus more or less unsuitable on the proof obligations generated by jessie/why, almost no prover is able to generate a Coq proof, although alt-ergo is moving toward this direction. However, if you're ready to trust the automated provers (and you're implicitely doing that each time you don't use -jessie-atp coq ;-), it is possible to call them from the coq proof assistant itself, via a binding to Why, thanks to the work of Nicolas Ayache. Unfortunately, this feature has not been really maintained, and for the current stable version 8.2pl1, this is only available via a patch present in the godi (http://godi.camlcity.org/) distribution of Coq. I've understood that this feature has been re-implemented in the unstable version 8.3beta, but I never used it. The extension allows you to use the "tactics" ergo, simplify and z3, that will call the corresponding prover, so if you have an appropriate version of coq, frama-c -jessie-analysis -jessie-atp coq -jessie-why-opt="-coq-tactic ergo" file.c will only ask you to provide a coq script for the proof obligations that alt-ergo is not able to discharge[1] -- E tutto per oggi, a la prossima volta. Virgile [1] You might want to use a slightly longer timeout, as for some reason launching the prover from coq rather than from Gwhy seems somewhat longer - my best guess would be that the encoding of formulas is slightly more complicated. This is done by 'Dp_timeout n.' in the coq file (where n is the number of seconds you are ready to wait for each proof obligation).
- References:
- [Frama-c-discuss] Combining Simplify and Coq
- From: michaelschausten at googlemail.com (Michael Schausten)
- [Frama-c-discuss] Combining Simplify and Coq
- From: pascal.cuoq at gmail.com (Pascal Cuoq)
- [Frama-c-discuss] Combining Simplify and Coq
- Prev by Date: [Frama-c-discuss] Combining Simplify and Coq
- Next by Date: [Frama-c-discuss] jessie - struct as parameter to logic functions
- Previous by thread: [Frama-c-discuss] Combining Simplify and Coq
- Next by thread: [Frama-c-discuss] jessie - struct as parameter to logic functions
- Index(es):