2
有人可以指出为什么最终查询没有输出吗?Z3中的固定点数
基本上我告诉Z3是否vs-)vd和vs-> ss和vd-> sd,然后sd是从ss派生的。
(set-option :fixedpoint.engine datalog)
(define-sort site() (_ BitVec 3))
(declare-rel pointsto (Int site))
(declare-rel dcall (Int Int))
(declare-rel derived (site site))
(declare-var vs Int)
(declare-var vd Int)
(declare-var ss site)
(declare-var sd site)
;;;;; definition of derived ;;
(rule (=> (and (dcall vs vd) (pointsto vs ss) (pointsto vd sd)) (derived ss sd)))
(rule (dcall 11 12))
(rule (pointsto 11 #b001))
(rule (pointsto 12 #b010))
(query (derived #b001 #b010))
的语法似乎是错误的。 为什么你写 pointsto(VS SS) 代替 (pointsto VS SS) ? –
对不起。一个错字。现在纠正。但仍然没有结果显示。 – Tim
通过运行本地Z3而不是rise4fun,我发现“libC++ abi.dylib:以std :: bad_cast:std :: bad_cast类型的未捕获异常终止” – Tim