以下SMT公式在rise4fun网站上的语法检查失败,当x13被带有箭头的行中的av5替换时。
(set-info :status unknown)
;(set-logic QF_BV)
(declare-fun in3 () (_ BitVec 16))
(assert
(let ((x8 ((_ zero_extend 16) in3)))
(let ((x13 (ite (not (= x8 (_ bv00000000 32))) (_ bv00045069 32) (_ bv00000174 32))))
(let ((av5 (= x13 (_ bv00045069 32))))
(= x13 (_ bv4294967295 32)))))) <---------
(assert true)
(check-sat)
错误消息是
Z3(8,26):错误:无效的函数应用程序,对位置2的参数排序不匹配
知道我可能做错了什么吗?
答案 0 :(得分:0)
您使用的是哪个版本?我无法使用4.3.x版重现此问题,也无法使用不稳定(正在进行中)分支。在这两种情况下,我得到unsat
。我也在rise4fun上获得unsat
。