在 Alloy 中添加集合的元素

Adding elements of a set in Alloy

对于集合时间:{1,2,3,4},我们如何计算Alloy集合中元素的总和?有没有办法使用 Alloy 的集合添加功能?

pred addTime[time: set Time]{
    add[time] = 10
}

您可以使用 sum 运算符

对一组 Int 求和
 let s = 1 + 2 + 3 | 6 = sum s

但是,如果您像 Jackson 的书中那样使用时间,那么您将无法添加它们,因为它们不是 Int 的。所以我有点困惑你想要建模什么?