Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.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
在z3中打印内部解算器公式_Z3_Smt_Theorem Proving_Formal Verification - Fatal编程技术网

在z3中打印内部解算器公式

在z3中打印内部解算器公式,z3,smt,theorem-proving,formal-verification,Z3,Smt,Theorem Proving,Formal Verification,定理证明工具z3花了很多时间来解一个公式,我相信它应该能够很容易地处理。为了更好地理解这一点,并尽可能优化我对z3的输入,我希望看到z3在求解过程中生成的内部约束。 从命令行使用z3时,如何打印z3为其后端解算器生成的公式?z3命令行工具没有此选项。此外,Z3包含多个解算器和预处理步骤。目前还不清楚哪一步对你有用。Z3源代码可在以下位置获得:。在调试模式下编译Z3时,它提供了一个额外的命令行选项-tr:。此选项可用于有选择地转储信息。例如,源文件nlsat_solver.cpp包含以下指令: T

定理证明工具z3花了很多时间来解一个公式,我相信它应该能够很容易地处理。为了更好地理解这一点,并尽可能优化我对z3的输入,我希望看到z3在求解过程中生成的内部约束。
从命令行使用z3时,如何打印z3为其后端解算器生成的公式?

z3命令行工具没有此选项。此外,Z3包含多个解算器和预处理步骤。目前还不清楚哪一步对你有用。Z3源代码可在以下位置获得:。在调试模式下编译Z3时,它提供了一个额外的命令行选项
-tr:
。此选项可用于有选择地转储信息。例如,源文件
nlsat_solver.cpp
包含以下指令:

TRACE("nlsat", tout << "starting search...\n"; display(tout); 
               tout << "\nvar order:\n"; 
               display_vars(tout););

跟踪(“nlsat”,tout感谢您的及时回复。还感谢您提供的源代码链接:我不知道它已经发布。正如您所建议的,我将尝试使用标记和跟踪来转储选择性信息。如果您能给出关于可能涉及哪些模块的提示,那将非常有用-它还将帮助我调整约束-我相信我会的对于这个问题,我没有以最好的方式使用z3。stackoverflow不允许我粘贴该代码:可能超出了帖子的行限制。我将尝试将其作为新帖子再次发布,或者提取部分约束和帖子部分,同时也可以理解。(assert(>=ab))(assert(和(=a1.0)))(assert(和(=B0.5))(assert(和(=C0.5))(assert(=two-to-p(to-real(^223)));a的计算指数(assert(=two-to-exp-a(和(>=A0.5)(=A1.0)(=A2.0)(=a 16.0)(=a 32.0)(=a 64.0)(=a 128.0)(a-plus-b-real(+a-exp-a)和非溢出(>a-plus-b-real(+two-to-exp-exp-a))和非溢出(