如何显示 alloy 中的对序列?

How to display a sequence of pairs in alloy?

我想知道,如何在alloy中定义一对和一对序列? 例如,在 Z 表示法中,我们可以将像 c 这样的变量定义为一对序列,即 "c: seq (A \cross B)"。 alloy 语言中是否有与此定义等效的内容?

Alloy 非常有表现力,通常你可以直接从 Z 翻译成 Alloy。在这种情况下,例如,您可以声明一个代表 pairs

的签名
sig Pair {first, second: X}

然后将字段定义为对序列

s: seq Pair

但通常有更好的方法。例如,也许有两个序列更好;也许序列可以表示为排序;或者也许您根本不需要序列,集合就可以了。通常这是人们在使用 Alloy 建模时发现的:让事情更容易分析也会让事情更容易理解和表达。祝你好运!