-
Notifications
You must be signed in to change notification settings - Fork 274
Allow unquoted symbols in new SMT backend output if they observe the simple_symbols
definition.
#6745
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
Conversation
simple_symbols
in SMT printed output from new SMT backend.
simple_symbols
in SMT printed output from new SMT backend.simple_symbols
definition.
add_test_pl_profile( | ||
"cbmc-new-smt-backend-cvc5" | ||
"$<TARGET_FILE:cbmc> --incremental-smt2-solver 'cvc5 --lang smt --incremental' --validate-goto-model --validate-ssa-equation --slice-formula ${exclude_win_broken_tests}" | ||
"-C;-X;broken-cvc5;-s;new-smt-cvc5" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤔 The broken-cvc5
tag probably isn't needed if you have fixed all the problems locally before raising the PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Given that cvc5
is under active and rapid development, is coming up to a major release and takes a pretty strict line on SMT-LIB compliance... is this the best way to address this problem? Is there an issue open on the cvc5 tracker for what the problem with compliance is?
We haven't opened an issue on the cvc5 tracker. We have observed the issue this PR is intending to address on both the stable cvc4 and on cvc5. The output from cbmc is smtlib2.6 compatible both with and without the changes in this PR. I think the issue is with cvc5 rather than cbmc. Section 3.1 of the standard states the following -
It seems that if we add |
7278e36
to
436e544
Compare
…ith multiple solvers. Previously the command that was enabling the new SMT backend (and providing the script for invoking the appropriate SMT solver) was passed as part of the options passed in `test.desc`. Since this was removed, and passed as part of the test configuration in the `CMakeLists.txt`, we need to do the same here.
055384d
to
4b7cbff
Compare
Closing this, as #6777 is a substitute for this PR. |
Allow for symbols to be printed in an unquoted form
in the output of the new SMT backend if said symbols
are obeying the definition of a
simple_symbol
from the SMTLIBspecification.
This allows our new SMT backend to work with some solvers
that are not 100% SMTLIB compliant (namely cvc4/cvc5).
This is for now a draft, to allow CI to run and let me
observe results from test runs on CI.