我使用以下代码将字符串解析为Z3,但它警告不支持。
string str = "(set-option :fixedpoint.engine datalog)\n(declare-rel edge ( (_ BitVec 2) (_ BitVec 2)))\n(declare-var a (_ BitVec 2))\n(declare-var c (_ BitVec 2))\n(declare-var b (_ BitVec 2))\n\n(rule (=> ( edge a b )( edge a c )))\n(rule ( edge #b00 #b01 ))\n(rule ( edge #b01 #b10 ))\n(rule ( edge #b10 #b11 ))";
Context ctx = new Context(new Dictionary<string, string>()
{
{"MODEL", "true"}
});
ctx.ParseSMTLIB2String(str);
不确定我的问题在哪里,有人可以为此提供帮助吗?
答案 0 :(得分:1)
declare-rel,declare-var,rule和query不是SMT-LIB2命令。 SMT2解析器仅支持SMT-LIB2格式并返回断言 在文件或字符串中作为表达式。