公式及其否定都是不可满足的。
(define-fun max1 ((x Int) (y Int)) Int
(ite (< y x) x y))
(define-fun myMax ((a Int) (b Int)) Int
(ite (< a b) (- b 1) 0))
(define-const f Bool
(forall ((a Int) (b Int))
(=> (exists ((i Int)) (and (<= (+ a 1) i) (< i b)))
(= (myMax a b) (max1 a (myMax (+ a 1) b))))))
(assert f)
;(assert (not f))
(check-sat)
有人可以帮我理解吗?我期待着其中一个人坐下来。 请注意,函数max1和myMax都已定义。
答案 0 :(得分:3)
这是模块中的一个错误,它试图使用傅里叶Motzkin消除来消除量化变量。修复程序现在将被检入主分支。