如何計算屬性值? 下面是一個例子:使用Z3和smtlib以混合值計算配置/模型
(declare-fun x() bool)
(declare-fun y() bool)
(declare-fun z() bool)
(assert (AND x (OR y z)))
有了這個,我會得到2種型號:
x=true and y=true
x=true and z=true
現在,我想是這樣的:
(declare-fun x() bool)
(declare-fun y() bool)
(declare-fun z() bool)
(declare-fun x.val() Int)
(declare-fun y.val() Int)
(declare-fun z.val() Int)
(assert (= x.val 2))
(assert (= y.val 3))
(assert (= z.val 5))
(assert (AND x (OR y z)))
(assert (> sum 6))
所以,我想獲得屬性總和大於6的模型:
x=true and z=true
與陣列也許是工作的方式來實現這一目標?
哇,這很快。正是我在找什麼。謝謝! –