カーディナリティ制約が実行コマンドで機能するのに、実際には機能しないのはなぜですか?

ロジャーコステロ

以下は、2つのデスクトップのAlloy表現です。fact、私は最初のデスクトップは2個のアイコン、AとBが含まれている、と私は実際にこれを入れて2番目のデスクトップは、1個のアイコン、私はちょうど二つのデスクトップがあることを指定したいのですがA.が含まれていることを指定します。

#Desktop = 2

私が行ったときはrun、コマンドを、私はこのメッセージが表示されました:No instance foundからそれを省略しfact、代わりにrunコマンドでデスクトップの数を指定した場合

run {} but 2 Desktop

次に、目的のインスタンスが生成されました。どうして?のデスクトップの数を制限すると機能しないのにfactrunコマンドのデスクトップの数を制限すると機能するのはなぜですか?

open util/ordering[Desktop]

sig Desktop {
     icons: set Icon
} 

abstract sig Icon {}
one sig A extends Icon {}
one sig B extends Icon {}

fact {
    first.icons = A + B
    first.next.icons = A
}
ホバーカウチ

Alloy Referenceの283ページによると、署名に明示的な境界が指定されておらず、暗黙的な境界が見つからない場合、その署名はデフォルトで最大3つの要素になります。run {#Desktop = 3}デフォルトで動作します。

あなたも持っていopen util/ordering[Desktop]ます。そのモジュールはで始まり、スコープに制約をmodule util/ordering[exactly elem]追加しexactlyます。これは、暗黙の境界が正確に3つの要素であるため、run {#Desktop = 2}失敗することを意味します。追加run {#Desktop = 2} for 2すると、署名ごとに2つの要素への暗黙のバインドが変更されるため、成功します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

sedコマンドがインタラクティブに機能するのにスクリプトでは機能しないのはなぜですか?

分類Dev

実際のマウスクリックが機能しないのに、JSコンソールで.click()を実行すると機能するのはなぜですか?

分類Dev

「アクティベーター実行」が正常に機能しているのに、「sbt実行」がOutOfMemoryErrorで失敗するのはなぜですか?

分類Dev

「アクティベーター実行」が正常に機能しているのに、「sbt実行」がOutOfMemoryErrorで失敗するのはなぜですか?

分類Dev

コマンドが実数を追加するために機能しないのはなぜですか?

分類Dev

「if制約」がコードで機能しないのはなぜですか?

分類Dev

このコードが、あるシナリオでは機能するのに、別のシナリオでは機能しないのはなぜですか?

分類Dev

compgenコマンドがLinuxターミナルで機能するのに、process :: Commandでは機能しないのはなぜですか?

分類Dev

キャンバスハウス。コードをエディターにコピーしてブラウザーで実行すると、コードが機能しないのはなぜですか?

分類Dev

リナックス。Linux コマンドは端末では機能するのに、スクリプトでは機能しないのはなぜですか

分類Dev

元のコードが正常に機能しているのに、単体テストが実行されないのはなぜですか?

分類Dev

gradlebddコマンドが最初の実行で機能しないのはなぜですか

分類Dev

このaptコマンドのセットは、行ごとに実行すると機能するのに、スクリプトとして実行すると機能しないのはなぜですか?

分類Dev

'su'コマンドがUbuntuで機能しないのに、他のLinuxディストリビューションでは機能するのはなぜですか?

分類Dev

Gvim内から:shellコマンドを実行しているときに上向き/下向き矢印が機能しないのはなぜですか?

分類Dev

dockerコンテナー内で機能するコマンドがdocker runを介して外部から機能しないのはなぜですか?

分類Dev

このコマンドが端末では機能するのにコードでは機能しないのはなぜですか?

分類Dev

この JavaScript css フィルター コードが Firefox では機能するのに Chrome では機能しないのはなぜですか?

分類Dev

aws s3 cpコマンドがIPネットワーク経由でファイルを転送しないのに、ローカルディレクトリでのみ機能するのはなぜですか?

分類Dev

SQL ステートメントはエディターでは機能するのに JS 関数では機能しないのはなぜですか?

分類Dev

std :: process :: CommandはmacOSでhdiutilを実行できません(マウントに失敗しました-そのようなファイルやディレクトリはありません)が、ターミナルで実行するとコマンドは正常に機能します

分類Dev

親ディレクトリにアクセスするためのこのコードがMatlabで機能しないのはなぜですか?

分類Dev

ハードコーディングの代わりに.mapを使用してコンテンツを動的に入力すると、マテリアルUIタブが機能しなくなるのはなぜですか?

分類Dev

GNU awkの実装制限が実際には機能していないように見えるのはなぜですか?

分類Dev

ディレクトリを変更するときにワイルドカード*が機能しないのはなぜですか?

分類Dev

コンテナに設定するときにflexプロパティがflex-itemsで機能しないのはなぜですか?

分類Dev

子プロセスのスポーンがウィンドウで機能するのにubuntuでは機能しないのはなぜですか?

分類Dev

このコードでルーティングが機能しないのはなぜですか?

分類Dev

このコードがリアクティブ関数で機能しないのはなぜですか?

Related 関連記事

  1. 1

    sedコマンドがインタラクティブに機能するのにスクリプトでは機能しないのはなぜですか?

  2. 2

    実際のマウスクリックが機能しないのに、JSコンソールで.click()を実行すると機能するのはなぜですか?

  3. 3

    「アクティベーター実行」が正常に機能しているのに、「sbt実行」がOutOfMemoryErrorで失敗するのはなぜですか?

  4. 4

    「アクティベーター実行」が正常に機能しているのに、「sbt実行」がOutOfMemoryErrorで失敗するのはなぜですか?

  5. 5

    コマンドが実数を追加するために機能しないのはなぜですか?

  6. 6

    「if制約」がコードで機能しないのはなぜですか?

  7. 7

    このコードが、あるシナリオでは機能するのに、別のシナリオでは機能しないのはなぜですか?

  8. 8

    compgenコマンドがLinuxターミナルで機能するのに、process :: Commandでは機能しないのはなぜですか?

  9. 9

    キャンバスハウス。コードをエディターにコピーしてブラウザーで実行すると、コードが機能しないのはなぜですか?

  10. 10

    リナックス。Linux コマンドは端末では機能するのに、スクリプトでは機能しないのはなぜですか

  11. 11

    元のコードが正常に機能しているのに、単体テストが実行されないのはなぜですか?

  12. 12

    gradlebddコマンドが最初の実行で機能しないのはなぜですか

  13. 13

    このaptコマンドのセットは、行ごとに実行すると機能するのに、スクリプトとして実行すると機能しないのはなぜですか?

  14. 14

    'su'コマンドがUbuntuで機能しないのに、他のLinuxディストリビューションでは機能するのはなぜですか?

  15. 15

    Gvim内から:shellコマンドを実行しているときに上向き/下向き矢印が機能しないのはなぜですか?

  16. 16

    dockerコンテナー内で機能するコマンドがdocker runを介して外部から機能しないのはなぜですか?

  17. 17

    このコマンドが端末では機能するのにコードでは機能しないのはなぜですか?

  18. 18

    この JavaScript css フィルター コードが Firefox では機能するのに Chrome では機能しないのはなぜですか?

  19. 19

    aws s3 cpコマンドがIPネットワーク経由でファイルを転送しないのに、ローカルディレクトリでのみ機能するのはなぜですか?

  20. 20

    SQL ステートメントはエディターでは機能するのに JS 関数では機能しないのはなぜですか?

  21. 21

    std :: process :: CommandはmacOSでhdiutilを実行できません(マウントに失敗しました-そのようなファイルやディレクトリはありません)が、ターミナルで実行するとコマンドは正常に機能します

  22. 22

    親ディレクトリにアクセスするためのこのコードがMatlabで機能しないのはなぜですか?

  23. 23

    ハードコーディングの代わりに.mapを使用してコンテンツを動的に入力すると、マテリアルUIタブが機能しなくなるのはなぜですか?

  24. 24

    GNU awkの実装制限が実際には機能していないように見えるのはなぜですか?

  25. 25

    ディレクトリを変更するときにワイルドカード*が機能しないのはなぜですか?

  26. 26

    コンテナに設定するときにflexプロパティがflex-itemsで機能しないのはなぜですか?

  27. 27

    子プロセスのスポーンがウィンドウで機能するのにubuntuでは機能しないのはなぜですか?

  28. 28

    このコードでルーティングが機能しないのはなぜですか?

  29. 29

    このコードがリアクティブ関数で機能しないのはなぜですか?

ホットタグ

アーカイブ