feat: Support more Alt-Ergo primitives #220
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This patch adds typing support for the following Alt-Ergo primitives:
fpa_rounding_mode
and its constructors (equivalent toRoundingMode
in SMT-LIB);real_of_int
(equivalent toto_real
in SMT-LIB);real_is_int
(equivalent tois_int
in SMT-LIB);abs_int
(equivalent toabs
in SMT-LIB);int_floor
(equialent tofloor_to_int
in SMT-LIB)Note: These have been selected because they map directly to SMT-LIB types and primitives. There are additional floating-point (and real) primitives that do not exist at the SMT-LIB level, such as the
round
function. It is not clear at this point whether they should be added in Dolmen itself or in a separate plugin.