【问题标题】:Z3: Extract array interpretationZ3:提取数组解释
【发布时间】:2014-04-17 15:27:41
【问题描述】:

如何使用 C API 提取 Z3 中数组的函数解释?当我使用以下实例查询 Rise4Fun 时:

(declare-fun arr () (Array Int Int))
(assert (= 5 (select arr 3)))
(check-sat)
(get-model)
(exit)

,我明白了:

sat 
(model 
    (define-fun arr () (Array Int Int) (_ as-array k!0))
    (define-fun k!0 ((x!1 Int)) Int (ite (= x!1 3) 5 5))
)

是否可以仅使用 C API 提取 k!0 的函数解释?我尝试在数组常量声明以及 SAT 模型中为数组返回的术语上应用 Z3_model_get_func_interp,但总是得到 Error: invalid argument

【问题讨论】:

    标签: c arrays z3


    【解决方案1】:

    是的,这是可能的。最近有人问了一个非常相似的问题,可以在这里找到带有示例的答案:Read func interp of a z3 array from the z3 model

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-21
      • 1970-01-01
      相关资源
      最近更新 更多