如何通过Z3或SMT-Lib添加新逻辑?

时间:2019-03-12 20:34:01

标签: z3 smt z3py lib

我有一个理论部分,在这里我描述了新的逻辑并且我想实现它。但是我不想从头开始做所有事情。

我看到SMT-Lib / Z3的潜力很大,那么如何使用这些工具实现我的逻辑呢?

实现之后,我打算根据自己的逻辑运行几个示例。

1 个答案:

答案 0 :(得分:0)

  • 按排序的一阶逻辑对您的逻辑进行公理化。
  • 声明逻辑排序和符号,并以SMT-LIB格式添加公理。
  • 使用这些命令作为示例的序言。

根据您的逻辑,您还可以尝试使用预定义的逻辑(例如数组)而不是普通的一阶逻辑来表达它们。