冒号是否可以与 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) }
这个
λx ∈ Z • x + 1
不遵守 lambda 函数的语法 [source: page 24]:
λa : S | p • e
在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 allx
of typeT
for whichpred(x)
holds.When
expr(x)
is equal tox
, i.e. when we return the element itself, we can omitexpr(x)
and write{ x : T | pred(x) }
这个
λx ∈ Z • x + 1
不遵守 lambda 函数的语法 [source: page 24]:
λa : S | p • e