特定のセットに対して可能な限り最大の回答をAlloyに返すことができるかどうかを確認しようとしています。したがって、この例では、回答、、、x={}
およびx=A
がx=B
モデルファインダーによって生成されないようにします。
abstract sig X{}
one sig A extends X{}
one sig B extends X{}
pred(x: set X) {
x in A + B
}
私は次の線に沿って何かを試しました:
pred(x: set X) {
x in A + B and
no y : set X |
y in A + B and #(y) > #(x)
}
しかし、高次の定量化が必要なため、分析が不可能であるというエラーが発生します。
これを行うための可能な(またはより簡単な)方法があるかどうか疑問に思いましたか?