SMT-LIB v2 explicitly defines (push 0) and (pop 0) as operations without effect (cf. p. 59 in version 2.6 of the language standard), but the current version of Boolector prints an error message instead:
(set-logic QF_UFBV)
(push 0)
(check-sat)
[boolector] boolector_push: context level must be greater than 0
Hi there,
SMT-LIB v2 explicitly defines
(push 0)
and(pop 0)
as operations without effect (cf. p. 59 in version 2.6 of the language standard), but the current version of Boolector prints an error message instead:The following patch seems to fix the problem: boolector-3.0.0_push_pop_0.patch.txt