Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Isabelle/HOL函数中嵌入SMT_Isabelle_Smt_Theorem Proving - Fatal编程技术网

在Isabelle/HOL函数中嵌入SMT

在Isabelle/HOL函数中嵌入SMT,isabelle,smt,theorem-proving,Isabelle,Smt,Theorem Proving,我需要使用一些等式推理,但我对重新定义所有基础理论不感兴趣。我的目标是像sledgehammer那样使用现有的SMT解算器。例如,假设这个等式理论有一些简单的算术 datatype expr = Var string | Const nat datatype constraint = Eq "expr * expr" (* E1 = E2 *) fun SAT :: "constraint list ⇒ bool" where "SAT L = undefin

我需要使用一些等式推理,但我对重新定义所有基础理论不感兴趣。我的目标是像sledgehammer那样使用现有的SMT解算器。例如,假设这个等式理论有一些简单的算术

datatype expr = Var string
              | Const nat
datatype constraint = Eq "expr * expr"  (* E1 = E2 *)

fun SAT :: "constraint list ⇒ bool" where
  "SAT L = undefined (* calling an SMT-solver here *)"
类型
约束列表
包含嵌入逻辑约束的约束,我希望发送给SMT解算器以返回true(如果可能)。并因此断言以下内容应返回
false

value "SAT [Eq(Var ''X1'', Var ''X2''),     (* X1 = X2*)
            Eq(Var ''X1'', Const 0),        (* X1 = 0 *)
            Eq(Var ''X2'', Const (Suc 0))]" (* X2 = 1 *)
我应如何着手这样做