why3 - Need help defining a machine integer -
i'm using mach.int
library in specification (see this question), , i'm trying define constant of type int32
:
let constant_out1: int32 = 1 in …
however, when analyzing this, why3 returns message:
this term has type int, expected have type int32
i noticed bounded_int
(which int32
instantiates type int32
) has following in it:
val of_int (n:int) : t requires { "expl:integer overflow" in_bounds n } ensures { to_int result = n }
however, not seem able use cast 1
int32
. example, if use:
let constant_out1: int32 = int32.of_int(1) in …
i message unbound symbol 'int32.of_int'
. i've tried many permutations of this, without success. can provided guidance how tell why3 want 1
of type int32
?
Comments
Post a Comment