形式化验证工具TLA+

逻辑命题

  • =>:蕴含,implication,当且只有 F 等于 FALSE 或者 G 等于 TRUE(或者 F 和 G 都为 TRUE 或者 FALSE),F => G 等于 TRUE

    这里我们可能对 => 的定义感到困惑,为什么只有 F 为 TRUE 并且 G 为 FALSE 的时候 F => G 才为 FALSE,我们可以通过 (n > 5) => (n > 3) 来说明,对于整数 n 来说,如果 n 为 6,n > 5 就是 TRUE,自然 n > 3 也是 TRUE,也就是 (n > 5) 蕴含着 (n > 3),我们可以将 n 设置为 1,4 这些值在自行推导。

  • :>d:>e 等价于x \in d |->e,e为集合。相当于集合映射
  • |->: 类似与map映射关系。

    [x \in S |-> e]构造任意值域的函数. 譬如[ i \in 1..3 |-> i - 7],这个就会得到<<-6, -5, -4>>,然后我们可以使用<<-6, -5, -4>>[1] 得到 -6 了

  • @@:合并,联合。 f@@g等价于[x \in (DOMAIN f) U (DOMIN g) |-> IF x \in DOMIN f THEN f[x] ELSE g[fx]]

    集合

  • Int: 所有整数
  • Nat: 所有自然数
  • ..: m..n表示m到n的所有整数集合

参考资料