【发布时间】:2015-01-06 17:40:13
【问题描述】:
我使用 Alloy 4.2 来定义 Int 的范围,使用 'for ... but...' 语法,但是看起来 它无视我的要求。例如,给定以下简单模型:
sig A {
y : seq A
}
run { some a : A | #(a.y) = 4} for 3 but 4 Int
run { some a : A | #(a.y) = 4} for 4 Int, 3 A
第一个 run 找不到实例,而第二个找到实例。据我了解这些
两个命令是等价的(除非有一些隐藏的签名,其范围是自动推断的)。
有人能解释一下这种行为吗?
【问题讨论】:
标签: alloy