Нужна помощь в определении целого числа машины

Я использую 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?

0 ответов

Другие вопросы по тегам