2
我正在使用Microsoft的Z3 SMT解算器,並試圖定義自定義排序的常量。似乎這樣的常量默認情況下不是不相等的。假設你有下面的程序:Z3 SMT求解器中的常數相等
(declare-sort S 0)
(declare-const x S)
(declare-const y S)
(assert (= x y))
(check-sat)
這將給「坐」,因爲這是當然的完全可能是同一類的兩個常數是相等的。因爲我在做其中的常量必須是彼此不同的模式,這意味着我需要補充的形式
(assert (not (= x y)))
的公理每對同一種類的常量。我想知道是否有一些方法來做這個泛型,以便默認情況下每種常量都是唯一的。
感謝您的快速回答。我決定採用第一種解決方案,看起來更加優雅。順便提一下,我非常喜歡2012年在特倫託SAT/SMT夏季學校的演講! – marczoid
謝謝!我很高興聽到你喜歡它。 –