我是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 所以系统是一致的
认为