Skip to content

Reload preludes after reset statements #256

@Halbaroth

Description

@Halbaroth

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions