Нужна помощь в определении целого числа машины
Я использую mach.int
библиотека в спецификации (см. также этот вопрос), и я пытаюсь определить константу, которая имеет тип int32
:
let constant_out1: int32 = 1 in
…
Тем не менее, при анализе этого, Why3 возвращает сообщение:
This term has type int, but is expected to have type int32
Я заметил, что Bounded_int
(который Int32
создается с типом int32
) имеет следующее:
val of_int (n:int) : t
requires { "expl:integer overflow" in_bounds n }
ensures { to_int result = n }
Тем не менее, я не могу использовать это для приведения 1
в int32
, Например, если я использую:
let constant_out1: int32 = Int32.of_int(1) in
…
Я получаю сообщение unbound symbol 'Int32.of_int'
, Я перепробовал множество вариантов, но безуспешно. Может кто-нибудь предоставил руководство как сказать почему3 что я хочу 1
быть типом int32
?