You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on May 23, 2023. It is now read-only.
The parameter names recognized by z3 version 4.4.1 in the SMT2 format have changed. When I use tlapm version 1.4.3 (with changes unrelated to this issue) with input:
;; Proof obligation:;;\E x \in Nat : x * x + x = 6
(set-option:print-successfalse)
(set-option:produce-modelstrue)
(set-option :pull-nested-quantifiers true)
(set-option :auto-config false)
(set-option :mbqi true)
(declare-sortu0)
;; Declaration of terms, predicates and strings;; Axioms;; Conclusion
(assert (not (exists ((x Int))
(andtrue
(<=0 x)
(= (+ (* x x) x) 6)))))
;; Main assertions from the proof obligation
(check-sat)
(get-model)
(exit)
The theorem gets proved, as expected. Motivated by the discussion in #18, I happened to run z3 directly on the generated smt2 file shown above (obtained using tlapm --debug tempfiles ...), and observed the following errors from z3:
$ z3 -smt2 nonlinear.tlaps/tlapm_b983a7.smt2
(error "line 5 column 37: the parameter 'pull_nested_quantifiers', invoke 'z3 -p' to obtain the new parameter list, and 'z3 -pp:smt.pull_nested_quantifiers' for the full description of the parameter")
(error "line 7 column 18: the parameter 'mbqi', invoke 'z3 -p' to obtain the new parameter list, and 'z3 -pp:smt.mbqi' for the full description of the parameter")
unsat
(error "line 18 column 10: model is not available")
Following the instructions given in these error messages, I changed the names of the parameters to smt.pull-nested-quantifiers and smt.mbqi in the smt2 file to obtain:
;; Proof obligation:;;\E x \in Nat : x * x + x = 6
(set-option:print-successfalse)
(set-option:produce-modelstrue)
(set-option :smt.pull-nested-quantifiers true)
(set-option :auto-config false)
(set-option :smt.mbqi true)
(declare-sortu0)
;; Declaration of terms, predicates and strings;; Axioms;; Conclusion
(assert (not (exists ((x Int))
(andtrue
(<=0 x)
(= (+ (* x x) x) 6)))))
;; Main assertions from the proof obligation
(check-sat)
(get-model)
(exit)
Running this works without unexpected errors:
$ z3 -smt2 nonlinear.tlaps/tlapm_b983a7.smt2
unsat
(error "line 18 column 10: model is not available")
For reference, the documentation of the renamed parameters is, using z3 -pp:smt.pull_nested_quantifiers:
The parameter names recognized by
z3
version 4.4.1 in the SMT2 format have changed. When I usetlapm
version 1.4.3 (with changes unrelated to this issue) with input:it generates an smt2 file that contains:
The theorem gets proved, as expected. Motivated by the discussion in #18, I happened to run
z3
directly on the generated smt2 file shown above (obtained usingtlapm --debug tempfiles ...
), and observed the following errors fromz3
:Following the instructions given in these error messages, I changed the names of the parameters to
smt.pull-nested-quantifiers
andsmt.mbqi
in the smt2 file to obtain:Running this works without unexpected errors:
$ z3 -smt2 nonlinear.tlaps/tlapm_b983a7.smt2 unsat (error "line 18 column 10: model is not available")
For reference, the documentation of the renamed parameters is, using
z3 -pp:smt.pull_nested_quantifiers
:and from
z3 -pp:smt.mbqi
:(Also, I think that a newline character is missing at the end of the auto-generated smt2 file.)
The text was updated successfully, but these errors were encountered: