私が入ったファイルがあります:入力ファイルにZ3を起動する方法
(declare-const a Int)
(declare-const b Int)
(declare-const c Int)
(declare-const d Real)
(declare-const e Real)
(assert (> a (+ b 2)))
(assert (= a (+ (* 2 c) 10)))
(assert (<= (+ c b) 1000))
(assert (>= d e))
(check-sat)
(get-model)
とし、オンラインチュートリアルによると、このファイルにZ3を実行するには、返す必要があります:
sat
(model
(define-fun c() Int
(- 5))
(define-fun a() Int
0)
(define-fun b() Int
(- 3))
(define-fun d()
Real 0.0)
(define-fun e()
Real 0.0)
)
をだから私は知っていますこれは正当なZ3入力です。しかし、私が "z3 [option]"を実行するたびに、私が選択するオプションに関係なくエラーメッセージが表示されます。誰かが入力ファイルでZ3を正しく呼び出す方法を教えてもらえますか?
よろしくお願いいたします。
私は(真のモデルが生産セットオプション)を追加しました。特に、-smt2は認識できないオプションです(私がそれが役に立ったらバージョン2.3を使用しています)。私が示した入力ファイルには、どのようなパーサーが適していますか? – Schemer
このファイルはSMT 2.0形式です。 Z3 2.3は本当に古いバージョンです。 SMT 2.0をサポートしていません。 http://research.microsoft.com/en-us/um/redmond/projects/z3/download.html –
で最新のバージョン3.2をダウンロードする必要があります。残念ながら、これは学校の割り当てであり、インストールされているバージョンを使用することを余儀なくされています大学のラボで – Schemer