我打算做的就是去所有的向量,并在每个位上做不同的事情。
我想知道的是,如果我做得很好(在define-fun LT....
中)?
因为结果与预期的结果不匹配:S
此链接中的代码:http://rise4fun.com/Z3/xrFK
答案 0 :(得分:0)
我不确定你公式的预期语义是什么,但直观地看来你is_in
的定义可能是罪魁祸首:
(define-fun is_in ((e (_ BitVec 9)) (S (_ BitVec 9))) Bool
;; True if e is an element of the "set" S.
(= (bvand e S) e))
约束(= (bvand e S) e))
表示只有S
等于e
时,此函数才能返回true。按照函数的名称,我希望定义为(not (= (bvand e S) Empty))
。