0
以下合金述語pは、パラメータtはタイプS.起動run p
のシングルトンとして宣言し、正しい結果が得られるので、Tは、2つの異なる要素s
とs'
を含んでいてもよい述語体状態。しかし、第2のrun
コマンドでは、タイプS
の2つの分離した要素のセットが述語p
に渡され、このコマンドはインスタンスを与えます。それはなぜですか?合金predが/楽しいパラメータ制約
sig S {}
pred p(t: one S) {
some s, s': t | s != s'
}
r1: run p -- no instance found
r2: run { -- instance found
some disj s0, s1: S {
S = s0 + s1
p[S]
}
}