Description
Hello everyone,
yices2 does not apply correct quotes while dumping SMTLIB formulas. An example for this can be seen in VariableNamesTest.testBoolVariableDump() where the formula for a (boolean) variable named "(" produces the following output:
(declare-fun |(| () Bool)
(assert ()
The correct output should use quotes for the "(" in the assertion:
(declare-fun |(| () Bool)
(assert |(|)
Without the quotes the SMTLIB string is invalid and will cause an exception during post-processing. (Which is why the test was temporarily disabled for yices2)
The problem is with the yices2 function yices_term_to_string()
, which fails to apply the quotes while printing the formula. We should report this to the yices2 developers and wait for a fix. If this is not an option we may want to handle quoting on our end by overloading `Yices2FormulaManager.makeVariable.