我正在尝试编写一个谓词,使所有香蕉和新鲜苹果都变得昂贵。我能够达到其中一个条件,但不能同时满足这两个条件。我对使用 Alloy 非常陌生,非常感谢任何帮助。
下面是我的代码,发生错误是因为我使用了双 In 语句,但我不确定如何在不必使用两个 in 语句的情况下编写它。我收到的错误是“类型错误,这必须是一个集合或关系”
sig Fruit{}
sig Banana, Apple, Pear extends Fruit {}
sig Fresh, Expensive in Fruit{}
pred BananasAndFreshApplesAreExpensive {
Apple in (Expensive & Fresh) + Banana in Expensive
}
run BananasAndFreshApplesAreExpensive