【发布时间】:2013-09-22 19:50:26
【问题描述】:
我正在编写一个简单的合金代码,但我不明白我怎么能说最多一个 A 与 p.D 相关联(所以最多是一或零)。所以我写了下面的代码,但是断言提出了 no counter-example 有一个没有 D 的 P1 的实例。你能帮助我如何定义我的事实,即最多有一个 pD 实例我可以看到一个反例,p 与它的 D 没有连接。
abstract sig A {}
sig A1,A2,A3 extends A{}
abstract sig P {}
sig P1 extends P {D: A}
fact
{
all p: P1 | lone (p.D & A)
}
assert asr
{no p: P1 | no (p.D & A)}
check asr for 5
【问题讨论】:
标签: alloy