Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FP: expose alt-ergo built-ins for FPA #873

Closed
2 of 3 tasks
Stevendeo opened this issue Oct 12, 2023 · 2 comments
Closed
2 of 3 tasks

FP: expose alt-ergo built-ins for FPA #873

Stevendeo opened this issue Oct 12, 2023 · 2 comments
Assignees
Milestone

Comments

@Stevendeo
Copy link
Collaborator

Stevendeo commented Oct 12, 2023

The builtin function float available in alt-ergo should be accessible for SMT2, as well as other built-ins such as the rounding mode.

CF #746

  • Rounding mode : expose as RoundingMode
  • Rounding function : expose as (_ ae.round)
  • Define the other alt-ergo built-ins that should be accessible and how to access them.
@Stevendeo Stevendeo self-assigned this Oct 12, 2023
@bclement-ocp
Copy link
Collaborator

* [ ]  Define the other alt-ergo built-ins that should be accessible and how to access them.

I think that these two are the only one relevant for floating points.

As for the others:

  • real_of_int and int_floor are already available as to_real and to_int (from the Reals_Ints theory).
  • The abs_XXX, min_XXX, max_XXX functions pre-date the introduction of if-then-else in Alt-Ergo and I don't think we should be recommending their use outside of the preludes (they are used for internal reasoning).
  • int_ceil and the power functions could be exposed; I'm not sure — I think they also are mostly intended for internal reasoning in the preludes
  • sqrt_real could be exposed (but again not FPA related)

If there are some of these functions we'd rather not expose — we need to check with the Why3 team that it's OK for them to not have access when/if they migrate to the SMT2 format.

@Stevendeo
Copy link
Collaborator Author

Should we close this issue now #876 is merged?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants