我正在用 B 方法编写系统的一些规范。我有以下变量,它们是一般集合的子集:
- 第一个符号:a :={x,y,z,v} b :={x,y,z}
我想声明一个规则,只要集合“b”中存在某些东西,它也存在于集合“a”中,这有助于将上述规范编写如下:
- 第二种表示法:a :={v} b :={x,y,z}
第二个符号的解释:我希望机器从 a :={v}、b :={x,y,z} 和规则中推断出 a :={x,y,z,v}。
我怎样才能表达规则,所以我避免第一个符号,而是写第二个符号?
我尝试了以下但没有奏效
INITIALISATION
a :={v} &
b :={x,y,z}
ASSERTIONS
!x.(x:b => x:a)