You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TLC中仅覆写"顶层"Init算子?

TLA+模块覆写递归问题的解决办法

你遇到的递归错误是因为覆写Init时,MCInit里引用的Init已经被替换成了MCInit本身,形成了循环调用。要只替换顶层Init且避免递归,直接在配置文件里明确引用原模块的Init即可,不需要单独定义MCInit。

具体做法是修改MCSpec.cfg为:

CONSTANT
  Init <- Spec!Init /\ x = FALSE

这里通过Spec!Init明确指定使用原Spec模块中的原始Init定义,而不是被覆写后的版本,这样就不会触发循环递归,同时实现了对顶层Init的覆写,效果和单独定义MCSpec模块完全一致。

内容的提问来源于stack exchange,提问作者Hovercouch

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 05:10:12