首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TLC不能处理规范的这种连接。

TLC不能处理规范的这种连接。
EN

Stack Overflow用户
提问于 2018-11-22 02:25:48
回答 1查看 132关注 0票数 0

我有一个TLA+模块,概括起来如下:

代码语言:javascript
复制
--- MODULE Group ---

CONSTANTS People
VARIABLES members

Join(person) == ...
Leave(person) == ...

Init == members \subseteq People

Next == \E p \in People :
            \/ Join(p)
            \/ Leave(p)

====================

当我尝试用TLC进行模型检查时,我会得到以下错误:

TLC抛出了一个意想不到的异常。这可能是由规范或模型中的错误引起的。请参阅用户输出或TLC控制台,以了解发生了什么。例外情况是,java.lang.RuntimeException : TLC无法处理规范的连接: X行,col到模块组的Z,col行。

...pointing到Next的整个内容。

我相信我的Next写得很好,因为这里有一个与我的Next非常相似的示例模型:byz.tla#L110

此外,Leslie Lamport's 第14.2.2节指出:

只有当集合值表达式等于有限集时,TLC才能计算该表达式.只有当TLC能够枚举集合S时,TLC才会计算下列表单的表达式:

并给出了“S中存在x,使得p”的例子。

如何解决这个错误?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-15 23:11:47

问题在于我在Init中使用了Init,如下所示:\in works, while \subseteq gives a "identifier undefined" error

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53423052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档