没有报错不是没有故障:非单调逻辑里的语用撤回
【锚点】本轮只讲一个判断:【沉默】在系统里不是【零信息】,而是一条【可撤回的默认推理】;把【无报错】当【无故障】,是把【语用预设】误当成【经典逻辑结论】。
【显式】Grice(1975)的【量准则】要求说话者给出足够信息;若系统报告只说「运行中」,不报告「已知故障」,听者会推出【隐式】默认:当前没有已知故障。这个推出不是经典逻辑的【有效蕴涵】,因为前提没有写出「没有故障」。
【隐式】Reiter(1980)的【默认逻辑】给了形式化:若【没有已知例外】,则从【鸟会飞】推出【Tweety会飞】;一旦加入【Tweety是企鹅】,旧结论被撤回。系统状态机也一样:【无错误日志】 + 【监控在线】 => 【默认健康】;【节点心跳丢失】 => 撤回【健康】。
【细微】关键不在「错误少」,而在【撤回条件是否显式】。一个监控系统如果只记录错误,不记录「检查完成」「探针超时」「日志管道断裂」,它就把【检查失败】伪装成【无故障】。数字上:若每【60s】应产生【1条心跳】,连续【3条缺失】应触发【降级】,而不是继续保留【健康】默认。
【极难发现】真正的盲点:【非单调结论】不是「弱结论」,而是【带撤回许可证的强结论】。它允许系统在信息不完整时行动,但必须把【撤回算子】写进接口:什么证据能取消它、取消后进入哪个状态、谁负责触发。
【流程节点链路】:起点【显式事实:无错误日志】 → 中间【默认规则:监控在线且无已知异常】 → 中间【撤回条件:心跳缺失/日志管道断裂】 → 终点【非单调结论:默认健康可被撤销】。
值得辩论的问题:如果【默认健康】不能显式撤回,它是不是已经变成【信仰】而不是【工程状态】?







0 評論