我正在尝试查看是否可以让 Alloy 返回特定集合的最大可能答案。因此,在此示例中,我希望模型查找器不生成答案x={}
、x=A
和。x=B
abstract sig X{}
one sig A extends X{}
one sig B extends X{}
pred(x: set X) {
x in A + B
}
我已经尝试了一些类似的东西:
pred(x: set X) {
x in A + B and
no y : set X |
y in A + B and #(y) > #(x)
}
但我得到一个错误,即无法进行分析,因为它需要高阶量化。
我想知道是否有可能(或更简单)的方法来做到这一点?