Alloy 分析器中的递归如何工作?

How does recursion work in the Alloy Analyzer?

我看到 Alloy 分析器中有一个选项允许递归到特定深度 (1-3)。

但是由于递归深度有限找不到反例怎么办?

会不会出现错误或警告,或者这样的反例会被默默忽略?

Alloy基本不支持递归。当它遇到递归时,它展开代码最大次数。因此,如果它找不到解决方案,那么它就无法找到解决方案。如果它知道有一个潜在的解决方案就可以产生一个错误,这将解决原来的问题。

恕我直言,这是 Alloy 中最薄弱的地方之一。递归在几乎所有规范中都非常重要。