# History.
remember 'cat snippets/range_size.c'
remember 'frama-c -wp -wp-rte snippets/range_size.c'
+remember 'frama-c -wp -wp-rte snippets/range_size.c -wp-prover alt-ergo,why3:z3-ce'
terminal
One way to find the problem would be to find a COUNTEREXAMPLE. A
counterexample is an instance of an input that satisfies all of the
-preconditions, but makes the postcondition false. Now Frama-C has
+preconditions, but makes the postcondition false. Frama-C has
pluggable provers, and one prover called Z3, originally written by
Microsoft, can be used with Frama-C and can sometimes find
-counterexamples. However the version of Z3 in Fedora does not like to
-work with the version of Frama-C in Fedora
-(https://git.frama-c.com/pub/frama-c/-/issues/33).
+counterexamples.
+
+ $ frama-c -wp -wp-rte snippets/range_size.c -wp-prover alt-ergo,why3:z3-ce
+
+Unfortunately Z3 cannot find a counterexample in this case. I even
+upped the timeout to run Z3 longer but it still couldn't find one.
+
+[Z3 model_compact issue: https://git.frama-c.com/pub/frama-c/-/issues/33]
So this is the counterexample which I worked out myself: