Consider the following prelude.smt2 file:
(set-logic ALL)
(declare-const x Int)
and the following postlude.smt2 file:
; (set-logic ALL)
(assert (>= x 0))
(check-sat)
(reset)
(set-logic ALL)
(assert (>= x 0))
(check-sat)
dolmen_bin rejects the second assert statement as the prelude is not
reloaded after the reset statement:
dolmen -p prelude.smt2 postlude.smt2
File "postlude.smt2", line 6, character 12-13:
6 | (assert (>= x 0))
^
Error Unbound identifier: `x`
The initial (set-logic ALL) in postlude.smt2 also triggers a warning. We expect preludes to be loaded after (set-logic ...) but before entering the Assertion state and after reset statement too.
Consider the following
prelude.smt2file:and the following
postlude.smt2file:dolmen_binrejects the second assert statement as the prelude is notreloaded after the reset statement:
dolmen -p prelude.smt2 postlude.smt2The initial
(set-logic ALL)in postlude.smt2 also triggers a warning. We expect preludes to be loaded after(set-logic ...)but before entering the Assertion state and after reset statement too.