このモデルに一貫性がない理由を知りたいのですが。次のタプルをシェービングに入れることができます。
shaves = {(man,man)}
sig Man {shaves: set Man}
one sig Barber extends Man {}
fact {
Barber.shaves = (m:Man |m not in m.shaves}
}
Barber.shavesは0タプルを生成します。この場合、事実は有効である必要があります。では、なぜ私のモデルに一貫性がないことを許可するのですか?
これについてのアドバイスを本当にいただければ幸いです。