--- layout: fc_discuss_archives title: Message 61 from Frama-C-discuss on April 2013 ---
Hi Claude, Indeed inserting an //@assert \false; results it being proved. Why does this happen with Z3 and not other provers?. 2013/4/22 Claude Marche <Claude.Marche at inria.fr> > > The fact that a prover "suddenly" proves everything when before it wasn't, > may be the sign of an inconsistency in the context. A good practice in such > a case is to try to insert a few "smoke detector" in your code. Typically, > you may try to insert > > //@ assert \false; > > right before the return instruction. If this assertion is also proved, > then you have found an inconsistency. > > Hope this helps, > > - Claude > > > On 04/19/2013 09:34 PM, Cristiano Sousa wrote: > >> Ok, something really weird is happening. With z3 i'm able to prove >> everything that i previously was not able. Either the POs always have >> been correct and WP was limited, or why/z3 is experiencing some strange >> behavior. I believe it's the latter >> >> On a side note related to the new memory model. What implications arise >> from using the unsafe casts option? >> >> >> 2013/4/19 Cristiano Sousa <cristiano.sousa126 at gmail.com >> <mailto:cristiano.sousa126@**gmail.com <cristiano.sousa126 at gmail.com>>> >> >> >> Thanks, >> >> the patch file however tries to patch various files in src/wp/test >> that do not exists (at least in the public release). Removing that >> solves the problem and why works again with the following warnings: >> >> File "/Users/xxxx/.frama-c-wp/**typed/Axiomatic.why", line 16, >> characters 8-11: unused variable x_0 >> File >> "/Users/xxxx/.frama-c-wp/**project.session/../typed/** >> strlen_Why3_ide.why", >> line 22, characters 6-9: unused variable x_0 >> File >> "/Users/xxxx/.frama-c-wp/**project.session/../typed/** >> strlen_Why3_ide.why", >> line 65, characters 6-9: unused variable x_1 >> File >> "/Users/xxxx/.frama-c-wp/**project.session/../typed/** >> strlen_Why3_ide.why", >> line 64, characters 6-9: unused variable x_0 >> File >> "/Users/xxxx/.frama-c-wp/**project.session/../typed/** >> strlen_Why3_ide.why", >> line 108, characters 6-9: unused variable x_0 >> File >> "/Users/xxxx/.frama-c-wp/**project.session/../typed/** >> strlen_Why3_ide.why", >> line 141, characters 6-9: unused variable x_0 >> File >> "/Users/xxxx/.frama-c-wp/**project.session/../typed/** >> strlen_Why3_ide.why", >> line 186, characters 6-9: unused variable x_0 >> File >> "/Users/xxxx/.frama-c-wp/**project.session/../typed/** >> strlen_Why3_ide.why", >> line 223, characters 6-9: unused variable x_0 >> >> http://pastebin.com/ckjLNaGZ >> >> curiously z3 is able to successfully prove everything in the >> original code (without the addition of BASE and END) >> >> >> 2013/4/19 Lo?c Correnson <loic.correnson at cea.fr >> <mailto:loic.correnson at cea.fr>**> >> >> >> Missing an include. >> >> >> >> Le 19 avr. 2013 ? 16:41, Cristiano Sousa a ?crit : >> >> Hi, >>> >>> >>> 2013/4/19 Lo?c Correnson <loic.correnson at cea.fr >>> <mailto:loic.correnson at cea.fr>**> >>> >>> >>> Thanks for the bug report. >>> Current status : >>> >>> 1. pointer comparison is actually missing in Why3 resources ; >>> 2. pointer difference is incorrectly translated in WP ; >>> >>> >>> Even with the patch applied, is why3 still not supposed to work? >>> >>> Error while reading file '../typed/strlen_Why3_ide.why'**: File >>> "/usr/local/share/frama-c/wp/**memory.why", line 36, characters >>> 36-40: Unbound symbol 'bool' >>> >>> -- >>> Regards, >>> Cristiano Sousa >>> ______________________________**_________________ >>> Frama-c-discuss mailing list >>> Frama-c-discuss at lists.gforge.**inria.fr<Frama-c-discuss at lists.gforge.inria.fr> >>> <mailto:Frama-c-discuss at lists.**gforge.inria.fr<Frama-c-discuss at lists.gforge.inria.fr> >>> > >>> http://lists.gforge.inria.fr/**cgi-bin/mailman/listinfo/** >>> frama-c-discuss<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<Frama-c-discuss at lists.gforge.inria.fr> >> <mailto:Frama-c-discuss at lists.**gforge.inria.fr<Frama-c-discuss at lists.gforge.inria.fr> >> > >> >> http://lists.gforge.inria.fr/**cgi-bin/mailman/listinfo/** >> frama-c-discuss<http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/frama-c-discuss> >> >> >> >> >> -- >> Cumprimentos, >> Cristiano Sousa >> >> >> >> >> -- >> Cumprimentos, >> Cristiano Sousa >> >> >> ______________________________**_________________ >> Frama-c-discuss mailing list >> Frama-c-discuss at lists.gforge.**inria.fr<Frama-c-discuss at lists.gforge.inria.fr> >> http://lists.gforge.inria.fr/**cgi-bin/mailman/listinfo/**frama-c-discuss<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<Frama-c-discuss at lists.gforge.inria.fr> > http://lists.gforge.inria.fr/**cgi-bin/mailman/listinfo/**frama-c-discuss<http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/frama-c-discuss> > -- Cumprimentos, Cristiano Sousa -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.gforge.inria.fr/pipermail/frama-c-discuss/attachments/20130424/16c7f185/attachment-0001.html>