"未知类别"定点查询中的错误

时间:2016-01-15 18:45:26

标签: z3 fixed-point

我正在接受"未知的排序"尝试使用query关键字提出固定点查询时出错。例如,以下示例来自定点教程,在Z3的在线版本中可以正常工作,

(declare-rel mc (Int Int))
(declare-var n Int)
(declare-var m Int)
(declare-var p Int)

(rule (=> (> m 100) (mc m (- m 10))))
(rule (=> (and (<= m 100) (mc (+ m 11) p) (mc p n)) (mc m n)))

(query (and (mc m n) (< n 91))
 :print-certificate true)

返回:

(error "line 9 column 13: unknown sort 'mc'")

当我从命令行运行它时。我使用从Linux上的github存储库编译的Z3版本4.4.2。我的命令行是:z3 -smt2 example.smt

我是否需要设置一些编译标志来启用此功能?

1 个答案:

答案 0 :(得分:0)

我最近更改了“查询”的格式,仅使用谓词。 该教程必须更新。

 (declare-rel q (Int Int))
 (rule (=> (and (mc m n) (< n 91)) (q m n)))
 (query q :print-certificate true)