【发布时间】:2022-07-25 04:18:15
【问题描述】:
这是我在 macOS 上使用 Alloy 6.1.0 测试的最小化 Alloy 模型:
sig Root {}
sig NonRoot {
root : one Root,
parent : lone NonRoot
}
fact acyclic {
no i : NonRoot | i in i.^parent
}
fact root_consistent_with_ancestors {
all i : NonRoot
| i.root = i.^parent.root
}
assert no_ancestry {
no disj nr1, nr2 : NonRoot
| nr1.parent = nr2
}
check no_ancestry for 6
Alloy 似乎应该能够找到一个具有以下结构的小型反例:
- 1个根节点R
- 1 个非根节点 N1 与
root = { R }和parent = none - 1 个具有
root = { R }和parent = { N1 }的非根节点N2。
我是不是误会了什么,或者这是一个合金错误?
【问题讨论】:
标签: alloy