0

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

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

4

1 回答 1

0

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

 (declare-rel q (Int Int))
 (rule (=> (and (mc m n) (< n 91)) (q m n)))
 (query q :print-certificate true)
于 2016-01-19T17:34:16.797 回答