--- layout: fc_discuss_archives title: Message 54 from Frama-C-discuss on April 2013 ---
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 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 >> <mailto: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 > <mailto:Frama-c-discuss at lists.gforge.inria.fr> > 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 > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/frama-c-discuss >