我想使用let
語句從z3中獲得解決方案而無需簡化。防止解決方案被簡化
例如,如果我給出如下:
(declare-const x Int)
(elim-quantifiers (exists ((x.1 Int))
(and (or (and (= (- x.1 2) 0) (<= (- x.1 9) 0))
(and (or (= (- x.1 2) 0) (and (<= (- x.1 4) 0)
(and (<= (- 4 x.1) 0)
(<= (- x.1 11) 0)))) (<= (- x.1 9) 0))) (= (- (+ x.1 2) x) 0))))
我回來瞭解決方案:
(let ((a!1 (and (or (and (<= x 4) (>= x 4)) (and (<= x 6) (>= x 6) (<= x 13)))
(<= x 11))))
(or (and (<= x 4) (>= x 4) (<= x 11)) a!1))
有沒有辦法告訴Z3不提取一些複雜的表達式爲let語句?如果我在沒有發言權的情況下得到答案,我將更容易解析結果。
謝謝。這有很大幫助。 – sriraj
太好了。你能接受答案嗎?因此,其他用戶會知道答案可以解決問題中發佈的問題。謝謝 –
這些選項是否也可以使用C API設置,如果是的話,怎麼樣? –