Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tla+ \在works中,而\subsetq给出了一个;“标识符未定义”;错误_Tla+_Tlc - Fatal编程技术网

Tla+ \在works中,而\subsetq给出了一个;“标识符未定义”;错误

Tla+ \在works中,而\subsetq给出了一个;“标识符未定义”;错误,tla+,tlc,Tla+,Tlc,我有以下规格: ------------------------------ MODULE Group ------------------------------ CONSTANTS People VARIABLES members Init == members \subseteq People Next == members' = members Group == Init /\ [][Next]_members ==================================

我有以下规格:

------------------------------ MODULE Group ------------------------------
CONSTANTS People
VARIABLES members

Init == members \subseteq People

Next == members' = members

Group == Init /\ [][Next]_members

=============================================================================
(我简化了这个规范,使它没有任何用处。)

当我尝试通过TLC运行它时,我得到以下错误:

在求值过程中,标识符成员要么未定义,要么不是运算符

错误指向
Init

当我将
Init
行更改为:

Init == members \in People
这很好

我想要前面的功能,因为我的意思是
成员
是一群人,而不是一个人

根据第16.1.6节,“TLA+在集合上提供以下运算符:”并列出
\in
\subsetq


为什么TLA+不允许我使用
\subsetq

虽然这是一个有效的TLA+表达式,但TLC只能通过S中的语句
x'=e
x'\将下一状态值分配给变量
x
。详见第14.2.6节。这也适用于初始分配。在您的情况下,您可能希望将
成员\包含在人员子集中