由于previously asked Z3不能提供递归函数的模型。然而,是否有可能告诉Z3(最好通过Java API)没有定义递归函数的模型是足够的(或者确实选择我感兴趣的函数,本质上我不需要非常量函数的模型) ?显然,这可能会导致查询返回,尽管某些函数没有模型。基本上,用户然后必须确保这些功能确实有一些模型。然而,我认为Z3或SMT解算器的工作方式并不是真正可以实现的,也就是说,我假设Z3需要递归函数的(部分)模型来评估表达式。模型和递归函数
Q
模型和递归函数
1
A
回答
1
量词的MBQI实现并不能很好地处理递归函数。 有一件事可能会为你带来诀窍:用有界递归函数替换递归函数定义。您添加一个额外的参数来计算您愿意探索该函数的展开次数。每当您在输入的其余部分应用递归函数时,请设置深度参数。您可以使用代数数据类型的Peano数字或整数。例如,符号自动机工具包使用这种方法。
0
我发现了一篇论文,探讨了Nikolaj Bjorner的答案:Amin,Leino和Rompf(2014)的“用SMT解算器进行计算”。此外,我发现Suter,Köksal和Kuncak(2011)的“可满足模递归程序”,其中调用连续递归函数,直到可以决定可满足性为止。
相关问题
- 1. Typescript - 递归函数类型
- 2. Ackermann函数和递归
- 3. SQL函数和递归
- 4. 递归函数和pthreads
- 5. Lwt和递归函数
- 6. 递归函数求和
- 7. 递归函数
- 8. 递归函数
- 9. 函数递归
- 10. 递归函数
- 11. 递归函数
- 12. 递归函数
- 13. 递归函数
- 14. 递归函数
- 15. 递归函数
- 16. 递归函数
- 17. CakePhp:模型递归关联和查找
- 18. 递归函数的返回类型
- 19. Swift递归函数,返回类型Closure
- 20. 递归函数返回类型错误
- 21. C++类型推断递归函数
- 22. 具有模式的Scala递归函数
- 23. 流星 - 模板递归函数onrendered
- 24. 找出递归函数的模式
- 25. Python递归函数不递归
- 26. 如何从递归递归函数
- 27. 尾递归函数
- 28. 递归函数C++
- 29. 递归函数Python
- 30. 递归strcpy函数