Hi Sandrine,

It looks like you forgot the first parameter "a" of "p" in "result <-> p
i". When I add it, this is accepted (and proved) with the most recent
version of Why3.

--
Jean-Christophe

On 11/9/18 6:20 PM, Sandrine Blazy wrote:
> Hi, 
> 
> the following example worked fine using why3 version 0.87.3.
> How should I write it so that it becomes accepted by why3 version 1.1.0 ?
> 
> module M
>   use int.Int
>   use bool.Bool
>   use array.Array
> 
> predicate p (a: array int) (i:int) = (a[i]=0)
> 
> let f (a: array int) (i: int) : bool
> requires { 0 <= i < length a }
> ensures { result <-> p i}
> =
> a[i] = 0
> 
> end
> _______________________________________________
> Why3-club mailing list
> Why3-club@lists.gforge.inria.fr
> https://lists.gforge.inria.fr/mailman/listinfo/why3-club
> 
_______________________________________________
Why3-club mailing list
Why3-club@lists.gforge.inria.fr
https://lists.gforge.inria.fr/mailman/listinfo/why3-club

Reply via email to