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] Problems with Nitrogen/Fluorine

On 17/10/2013 10:13, Alessio Iotti wrote:
> Dear All, i am moving the first steps with Frama-C, following the
> excellent tutorial "ACSL By Example".
> I have encountered a problem trying to replicate the count algorithm
> experiment. The attached file,
> taken literally from "ACSL By Example", illustrates the problem in
> comments beginning with "/***".

That is somehow fortunate that Fluorine fails at proving it, and that is 
kind of scary that Nitrogen (even partly) succeeded, because what you 
are trying to prove is plain wrong!

Axiom count2 should have been written

\forall int *a, v, integer i ;
   (a[i] != v ==> Count(a, v, i, i+1) == 0) &&
   (a[i] == v ==> Count(a, v, i, i+1) == 1);

Once changed, all the proof obligations are verified.

Best regards,