冒号是否可以与 Z 规范语言中的集合成员符号互换?

Is the colon symbol interchangeable with the set membership symbol in the Z specifications language?

在Z规范语言中,冒号':'是否只是集合成员符号'∈'的变体?它们总是可以互换使用吗?特别是,下列表达式在 Z 中是否合法?

恕我直言, .

尽管每个集合都可以用作类型[source: page 11], the syntax for declaring a variable x of type T is well-defined and it unambiguously uses only the colon symbol : [source: page 15]。

Type 的概念和 membership-of 的概念之间的微妙区别是变量 x 可以仅属于一个给定的 Type,但它可能属于(可能无限)多个 Sets.

由于此类写作属于滥用符号,您可能需要在研究中加入免责声明paper/document,以阐明您使用的符号,这样做有什么好处(我明白了none)。在这方面,我会邀请你去看看研究文献和你的同行,并尽量坚持周围环境使用的惯例。


这个

{ x ∈ Z | x < 100 }

不遵守 set comprehensions:

的语法
{ x : T | pred(x) ● expr(x) }

The set of all elements that result from evaluating expr(x) for all x of type T for which pred(x) holds.

When expr(x) is equal to x, i.e. when we return the element itself, we can omit expr(x) and write

{ x : T | pred(x) }

[source: pages 7,8]


这个

λx ∈ Z • x + 1

不遵守 lambda 函数的语法 [source: page 24]:

 λa : S | p • e