1
次のSMTフォルマは、CVC4が解析エラーのフラグを立てている間にZ3制約を解決します: "以前に変数として宣言された"私はCVC4 1.4とCVC 1.5の両方をWindows上で使ってテストしました。どのような提案や考え?CVC4の解析エラー(同じ数式がZ3に合格)
(set-logic ALL)
(declare-datatypes() ((Enum13 (Green) (Yellow) (None))))
(declare-datatypes() ((Enum0 (True) (False) (None))))
(declare-datatypes() ((Enum9 (Star_3) (Star_2) (Star_1) (None))))
(declare-fun Decomp
(Enum9 Enum13 Enum0)
Enum13)
(declare-fun var_36() Enum0)
(declare-fun var_37() Enum13)
(declare-fun var_71() Enum9)
(declare-fun var_38() Enum13)
(declare-fun var_31() Real)
(assert (and true
true
true
(= var_38
(Decomp var_71 var_37 var_36))))
(assert (>= var_31 0.0))
(assert (<= var_31 700.0))
(check-sat)
お返事ありがとうございます。しかし、これは、列挙型を宣言するのに直感的かつ効率的な方法のようには見えません。これはZ3に比べてCVC4の限界と考えられますか? – Cherry