求解递归Horn子句

时间:2015-06-10 22:28:21

标签: z3 smt

现在,在自动程序验证中,将问题作为Horn子句系统的解决方案是时髦的,其中大多数Horn子句定义了不变量的归纳条件,然后一些约束定义了匹配的安全条件。

一种文件格式是SMT-LIB:子句只是谓词上的assert语句,被视为映射到布尔值的函数。

实施此功能的解决方案包括vanilla Z3和Spacer。

能够解决此类问题的其他合理成熟,有文档和可下载的求解器是什么?

1 个答案:

答案 0 :(得分:3)

甚至Z3也有多个求解器,例如BMC,PDR(默认?),CLP(序言式推理),Datalog和Duality。选择fixedpoint.engine = xx。 还有另一个引擎即将推出,这是HSF到Z3的一个港口。 (最初的HSF也可用且非常可靠)

还有其他解决方案,但我对它们没有多少经验。 例如,Eldarica,VeriMAP等