如何获得每个 Z3 查询的确认?

How to get confirmation on every Z3 query?

我正在使用远程 Z3 控制台,通过标准输入发送查询并读取 stdout/err 错误和响应。问题是我没有找到一种方法来合理地检查查询是否已成功执行而不会陷入数据竞争。

问题示例:

假设我发送了一个查询

(assert (= 1 1))

其中returns无输出。我应该如何检查那里是否有任何错误?如果我检查是否没有响应,我无法区分成功的查询和仍在计算的操作。

真题

我想让 Z3 用 ok 或类似的东西回复每个通常在成功时保持沉默的查询。这是可以实现的吗?如果没有,我该怎么做才能知道最近查询的状态?

我认为 (set-option :print-success true) 应该这样做。