我最近在使用Alloy。 我可以这样说:
fact{
all i: Int | i >= 0
}
我想说的是:Alloy使用的所有整数都应该是正数。 合金不会失败,但也不会给我实例。
问候
答案 0 :(得分:2)
你现在不能这么说。你可以为整数指定的唯一范围(告诉Alloy哪个整数为"使用")是位宽(例如4 Int
); Alloy然后总是使用该位宽内的所有整数(例如,对于4位的位宽,使用的整数是-8, ..., 7
)。
如果您的模型中有一个Int类型的字段,您可以使用一个事实(如上所述)来限制其值:
sig S { i: Int }
fact { all s: S | s.i >= 0 }