0

将以下文件输入到 cvc4 时,出现以下错误:

(error "Parse Error: <stdin>:11.221: Expecting at most 3 arguments for operator 'ITE', found 5")

该文件test.txt是:

(declare-fun start!1 () Bool)

(assert start!1)

(declare-fun lt!2 () String)

(declare-datatypes () ( (JValue!1 (JInt!1 (v!75 (_ BitVec 32))) (JString!1 (v!76 String))) ))

(declare-fun a!0 () JValue!1)

(assert (=> start!1 (not (= lt!2 (ite false "" (ite (and (is-JString!1 a!0) (= (v!76 a!0) "")) """""" (ite (and (is-JInt!1 a!0) (= (v!75 a!0) #x00000000)) "0" (ite (and (is-JString!1 a!0) (= (v!76 a!0) "a")) """a""" lt!2))))))))

命令行:

cat test.txt | cvc4.exe
4

1 回答 1

1

我需要添加--lang smt2.5格式选项以支持使用新标准进行双引号转义。

所以:

cat test.txt | cvc4.exe --lang smt2.5
于 2016-01-08T14:01:46.397 回答