我如何以编程方式调用Z3

时间:2012-02-08 21:02:16

标签: z3

您好我是Z3 SMT求解器的新手。我知道您可以使用相关API以编程方式调用Z3。但我想用Z3 SMT求解器做以下事情:

  1. 如何以编程方式为一个输入文件提供Z3?
  2. 我如何逐步获得解决方案?
  3. 例如:

    while ((check-sat) returns sat)
      get the assignments for all boolean vairables
    

    最后,在解决公式后,如何让Z3将结果保存到一个输出文件中?

    我能看到的任何想法或文件?

    万分感谢!!!

1 个答案:

答案 0 :(得分:0)

Z3发行版包含几个(编程API)示例。

  • examples / c / test_capi.c:使用C接口的许多小例子。
  • examples / dotnet / test_managed.cs:C#中的类似示例
  • examples / maxsat / maxsat.c:Z3 API顶部的MaxSAT程序(在C中)。
  • examples / ocaml / test_mlapi.ml:ML
  • 中的示例
  • examples / theory / test_user_theory.c:示例说明如何实现外部理论(插件)。