合金:整数范围

时间:2017-05-17 15:33:07

标签: alloy

我是Alloy(4.2)Sat Solver的新手 我的Integers范围有问题 我想保证一个人的年龄总是超过18岁

例:

sig Customer {age : Int }
fact f {   all c:Customer | c.age > 18  }
pred NewRule {   all c:Customer | c.age = 15  }
run NewRule for exactly 1 Customer

问题是合金中的整数只取[-8,+ 7]

之间的值

如果我改变事实& mak c.age> 0 并改变pred& make c.age = 7 所以系统是一致的

认为

0 个答案:

没有答案