2017-03-23 7 views
0

私は他の原子と原子の関係が変化していることに気づいています。下記の署名を使用して:合金 - 他の原子で使われている原子をカウントする

sig Word, Definition{} 

    sig Dictionary { 
     def: Word -> lone Definition 
    } 

は、私は、あなたが同じですが、もう一つの関係にある別のDictionaryを持つことによってDictionaryに新しい関係を追加するときに何が起こるかを示すために、述語を使用しています。

pred addRelation [d,d':Dictionary,w:Word,f:Definition] { 
     d'.word = d.word + w -> f 
    } 

私は、これは使用して発生したインスタンスのみ表示することができます最初の辞書の増加によって使用されるWord原子の数かどうかを確認するには、次の

#d'.def.Definition > #d.def.Definition 

は、しかし、数かどうかを確認する方法ですが第2の原子によって使用される原子の数は増加したか?私はAlloy Evaluatorで試行錯誤を繰り返し、これに価値を見いだしてきましたが、それほど短くはありません。

ありがとうございます!

答えて

1

このようにしますか?

sig Word, Definition{} 

sig Dictionary { 
    def: Word -> lone Definition 
} 

pred addRelation [d,d':Dictionary,w:Word,f:Definition] { 
    d'.def = d.def + w -> f 
    #d'.def[Word] > #d.def[Word] 
} 
run addRelation 
+0

完璧に、ありがとう! – LEJ

関連する問題