1
我有一個包含文件:如何調用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