TLA+ 能检查什么,又不能检查什么
来源: buttondown.com/hillelwayne
概述
Hillel Wayne 在这篇通讯里给“TLA+ 将拯救 AI”的热潮降温。作为长期推广者,他承认 TLA+ 擅长设计复杂并发系统,但指出它连许多我们关心的性质都无法表达,更不用说检查。
核心要点
- TLA+ 把系统拆成一组行为,用 []P(始终)、P’(下一步)、<>P(最终)三个时序算子表达不变式、动作性质与活性。
- 安全性质覆盖“坏事永不发生”,活性覆盖“好事终将发生”,这是 TLA+ 最主要的检查对象。
- 无法形式化的性质就无从检查:如果不能用逻辑公式描述“鸟”,就无法证明程序能识别鸟。
- 它原生无法定义跨两步及以上的性质,也无法表达浮点运算与真实时间,只能处理逻辑时间。
- TLA+ 的性质隐含地对所有行为全称量化,因此无法表达“存在某个行为使 P 成立”这类可达性。
- 超性质(如“省电模式一定比普通模式耗电少”)需要比较多个行为,同样无法被自然表达,而它们覆盖了大量安全与统计性质。
- 辅助变量、自组合等变通手法确实可行,但代价是破坏精化关系、让状态空间指数膨胀,最终让模型与真实系统越来越不像。
金句
要想验证一个性质,首先得有一个可以验证的性质。
👍 0
👎 0
← 返回 Lobsters 首页