Z3 2.x had a function (well, most likely an error) that declarations of the symbol were not deleted, for example. The following code is adopted by Z3 2.x:
(push)
(declare-fun x () Int)
; Assumptions made in this scope will be popped correctly
(pop)
(assert (= x x))
Z3 3.x no longer accepts this code ("unknown constant").
Is there a way to restore old behavior? Or in another way, how you can declare characters inside areas so that the declaration (and only the declaration, not the assumptions) is global, i.e. Didn’t jump out?
source
share