我正在嘗試使用Z3(一種由Microsoft Research開發(fā)的SMT求解器)來檢索一些一階理論的所有可能模型。這是一個最小的工作示例:(declare-const f Bool)(assert (or (= f true) (= f false)))在這種命題情況下,有兩個令人滿意的分配:f->true和f->false。由于Z3(通常是SMT求解器)只會嘗試找到一個令人滿意的模型,因此不可能直接找到所有解決方案。在這里,我找到了一個名為的有用命令(next-sat),但似乎最新版本的Z3不再支持此命令。這對我來說有點不幸,總體而言,我認為該命令非常有用。還有另一種方法嗎?
Z3:找到所有令人滿意的模型
富國滬深
2019-09-26 14:37:48