合金分析仪未完全执行我的运行命令

时间:2019-05-23 09:55:45

标签: alloy

我的代码是这样的:

但是当我执行此操作时,它只显示一栋房子和一个黑猫。 我该怎么办??

abstract one sig board{}
sig mohre {live:one  state }
sig house extends board{ver:one Int,hor:one Int,mo: mohre }
enum state{alive,dead}
run{#house>10 and #mohre>8}

1 个答案:

答案 0 :(得分:1)

您的run未指定范围。默认范围是每个sig的3个原子和16个整数([-8..7])。

如果作用域,则基数为10的US将消失。基本上这些模型都在lala领域。如果您降低基数或增加范围,则应该可以使用。

   run{#house>10 and #mohre>8} for 12 but 5 int

此命令允许所有类型的12个原子,并具有32个整数。奇怪的是,整数是由其位宽指定的,而5位则为您提供32个值。

此外,您对abstract sig one board施加了约束。删除one,因为那样会导致解决方案不止一个房子。