我正在接受"未知的排序"尝试使用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
我是否需要设置一些编译标志来启用此功能?
答案 0 :(得分:0)
我最近更改了“查询”的格式,仅使用谓词。 该教程必须更新。
(declare-rel q (Int Int))
(rule (=> (and (mc m n) (< n 91)) (q m n)))
(query q :print-certificate true)