Является ли библиотека mach.int частью по умолчанию для Why3?
Я пытаюсь использовать 32-разрядные целые числа в спецификации Why3 модели Simulink для Why3, и я нашел библиотеку mach.int, которая, по крайней мере, в одном месте, описана как часть стандартной библиотеки. Однако, когда я пытаюсь использовать его со следующей командой импорта:
use import mach.int.Int32
Я получаю сообщение:
Library file not found: mach.int
Это моя первая библиотека с "." в этом, поэтому я не уверен, что мой синтаксис неправильный, или эта библиотека на самом деле не является частью стандартной библиотеки, или я делаю что-то другое неправильно.
Как правильно использовать mach.int.Int32
модуль?
Дополнительные детали
мой why3
версия 0.87.3:
▶ why3 --version
Why3 platform, version 0.87.3
Я посмотрел в своем файле ~/.why3.conf и нашел следующие строки:
[main]
loadpath = "/opt/gps/share/why3/theories"
loadpath = "/opt/gps/share/why3/modules"
loadpath = "/opt/gps/share/spark/theories"
Я заглянул в /opt/gps/share/why3/modules
(а также /opt/gps/share/why3/theories
а также /opt/gps/share/spark/theories
) и не нашел mach.int.*
Итак, я создал mach.int.mlw
файл в /opt/gps/share/why3/modules
и убедился, что why3
было в порядке с этим:
▶ why3 prove -P z3 mach.int.mlw
mach.int.mlw Int WP_parameter infix / : Valid (0.01s)
mach.int.mlw Int WP_parameter infix % : Valid (0.01s)
mach.int.mlw Refint63 WP_parameter incr : Valid (0.02s)
mach.int.mlw Refint63 WP_parameter decr : Valid (0.02s)
mach.int.mlw Refint63 WP_parameter infix += : Valid (0.02s)
mach.int.mlw Refint63 WP_parameter infix -= : Valid (0.02s)
mach.int.mlw Refint63 WP_parameter infix *= : Valid (0.02s)
mach.int.mlw MinMax63 WP_parameter min : Valid (0.01s)
mach.int.mlw MinMax63 WP_parameter max : Valid (0.02s)
Результат тот же.
1 ответ
Оказывается, почему3 искал mach.int.Int32
в модуле int.mlw
в mach
подкаталог.
Ввод mach.int
библиотека в /opt/gps/share/why3/modules/mach/
каталог решает проблему с библиотекой, не найденной (где /opt/gps/share/why3/modules
определяется как часть loadpath
в моем ~/.why3.conf
файл).