-
Notifications
You must be signed in to change notification settings - Fork 33
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
Wrong order in models #1214
Comments
There has been some discussions about order of definitions in models, and it is still ongoing (see SMT-LIB/SMT-LIB-2#26). For what it's worth, even though keeping the same order as the original problem is optimal in my opinion (basically, it helps with performance of checking the model), as long as the model is at least in topological order (i.e. constants are defined before being used), dolmen will be happy. |
Thanks for the clarification. I thought it was unspecified by the SMT-LIB standard (and it seems it is unclear according to your issue) but I believe that it is better for readability too. |
That is not the case currently (see embedded-array), but I'd say this is a bug, probably related to #1213. Edit: to clarify, when I say "this is a bug" I mean that we should refer to the abstract constant |
The goal of this PR is mainly to improve our API for models. Currently, we use AE symbols as identifiers of declared constants in models. Fix partially OCamlPro#1214
The goal of this PR is mainly to improve our API for models. Currently, we use AE symbols as identifiers of declared constants in models. Fix partially OCamlPro#1214
It seems we do not print definitions in models in the same order of the corresponding declarations in the input file. For instance, the following input:
gives
I believe that the appropriate fix consists in using
term_cst
of Dolmen instead ofId.t
to store profiles. I tried to write the fix but it requires a lot of annoying workarounds because of the legacy frontend. I postpone the fix for the next release after getting rid of the legacy frontend.The text was updated successfully, but these errors were encountered: