alloy

    0

    1答えて

    次のモデルは、あらかじめ定義された特定の順序のアクションのシーケンスを表します。 open util/ordering[Time] abstract sig Action {pre: set Action} one sig A, B, C, D extends Action {} fact{ pre = A -> B + D -> B + D -> C } sig Ti

    0

    1答えて

    私は現在Alloyの述語で遊んでいます。私はassertとcheckステートメントを使用して、自分のモデルが正常に動作していることを確認できます。しかし、私が作成した述語が私が期待したことを行ったことを確認する方法はありますか?または、インスタンスを表示して手動で検索する必要がありますか?

    0

    1答えて

    私は他の原子と原子の関係が変化していることに気づいています。下記の署名を使用して: sig Word, Definition{} sig Dictionary { def: Word -> lone Definition } は、私は、あなたが同じですが、もう一つの関係にある別のDictionaryを持つことによってDictionaryに新しい関係を追加すると

    0

    1答えて

    航空機が着陸する空港に近づくと、航空機の接近手順は移行に分割されます。各トランジションは一連の脚で構成されています。 sig Transition { legs: set Leg } sig Leg {} トランジション内の脚のセットが発注されます。各トランジションでは、トランジションの最初のレッグ、トランジションの最後のレッグにアクセスできるようにしたいので、トランジションでは

    0

    1答えて

    私はちょうど作業に切り替えましたKodKod私はまだそれを理解しようとしています。ソリューションがSATISFIABLEまたはUNSATISFIABLEであるかどうかを確認するのに成功したことを理解するのに役立つプログラムを作成しました。私たちは、通常の合金で行うようCountreExampleを見ることができるようにしたい 、私はメソッド証明()タイプソリューションのを見つけたが、それは常にヌル

    0

    1答えて

    以下は、n-queens問題の合金モデルです(実際は、4-queens問題の)。よりよい解決策があるのだろうか?私の解答では、nextとprevを繰り返し使用して対角線上の女王を排除することに注意してください。それはかなりklunkyようです。 open util/ordering[Row] sig Row {} one sig Column0 { row: Row } o

    1

    1答えて

    abstract sig S {} one sig S1, S2 in S {} fact {S1 != S2} run {-1 < S1.(S2 -> 1)} Iインスタンスを開くと、Iは、評価者から integers={-8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7} univ={-1, -2, -3, -4, -5,

    0

    2答えて

    これが私の現在の署名宣言されている参加します。私が使用しようとしている:左のタイプはHumanで、右のタイプはMale/Femaleあるよう #Group.Male > #Group.Female しかし、これは動作しませんので、それは法的な関係が参加していないと言います。どこが間違っていますか?