首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在TLA+中是否有xor (专属或) infix操作符?

在TLA+中是否有xor (专属或) infix操作符?
EN

Stack Overflow用户
提问于 2017-10-11 22:23:39
回答 1查看 389关注 0票数 1

TLA+是否有一个xor操作符定义为语言本身的一部分,还是我必须定义自己的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-12 06:23:06

假设A \in BOOLEAN /\ B \in BOOLEAN,在命题逻辑中称为"XOR“的是不等式:

代码语言:javascript
运行
复制
A # B

它在相同的假设下相当于~ (A <=> B)。当A, B采用非布尔值时,这两个公式不一定等价.下面的公理可以描述操作符<=>

代码语言:javascript
运行
复制
THEOREM
    ASSUME
        /\ A \in BOOLEAN
        /\ B \in BOOLEAN
    PROVE
        (A <=> B)  =  (A = B)

对于AB的非布尔值,不指定A <=> B的值.在对布尔运算符的适度解释中,未指定A <=> B是非布尔值、A还是B的非布尔值。在布尔运算符的自由解释中,\A A, B: (A <=> B) \in BOOLEAN,如TLA版本2:初步指南中所描述的。

还请参见第10页(该页为参数的布尔值定义布尔运算符)和Sec。TLA+书的16.1.3。公式

代码语言:javascript
运行
复制
(A \/ B) /\ ~ (A /\ B)

对于标识符AB的非布尔值(TLA+为非类型化)也是有意义的。所以

代码语言:javascript
运行
复制
(15 \/ "a") /\ ~ (15 /\ "a")

是一个可能的价值。我不知道TLA+是否指定此公式是否具有与

代码语言:javascript
运行
复制
15 # "a"

另见关于附录A,第201页,实用TLA+第10行的评论。

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

https://stackoverflow.com/questions/46698480

复制
相关文章

相似问题

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