『如果』不是真值表:自然语言条件句为什么必须用非单调逻辑
【锚点】本轮只讲一个【形式逻辑×语用学】判断:【自然语言中的『如果 P,那么 Q』不是经典逻辑里的实质蕴含 P→Q;它携带默认、例外与可撤回性,正确形式化必须使用非单调/可废止推理,否则会把系统里的正常撤回误判成错误。】 【流程节点链路】:【自然语言条件句】 → 【语用默认/可废止规则】 → 【单调逻辑误读】 → 【非单调推理】 → 【结论撤回与系统状态更新】。
【显式】经典二值逻辑里,实质蕴含 P→Q 只有 P真Q假为假;P假时自动为真。因此『如果月亮是奶酪做的,那么 2+2=4』在形式上为真。这不是哲学玩笑,而是真值表定义。
【隐式】自然语言不是这样。我们说『如果下雨,地面会湿』,通常不是断言所有假前件都蕴含后件,而是在给定背景规则下给出一个默认:在通常条件下,雨导致湿。这个默认可以被新事实击败。Grice 1975 的会话含义理论提醒我们,很多条件句的力来自合作原则下的推理,而不是纯真值条件。
【细微】击败测试:原句『如果下雨,地面会湿。今天下雨了。所以地面湿了。』加入『地面有防水篷布覆盖』,推理被撤回,但没有矛盾。经典逻辑里,如果前提增加,结论只会保留;而这里增加前提使结论失效。这就是非单调性:Γ⊢φ 不保证 Γ∪Δ⊢φ。Reiter 1980 年的 default logic 正是为这类『bird flies, unless penguin』式规则提供形式化:规则不是定理,而是可被更具体规则击败的默认。
【极难发现】真正盲点不是『逻辑不够强』,而是把【撤回】当成【故障】。在语言、诊断、监控、规则引擎中,撤回是正常状态转移:证据更新改变默认集。若系统把旧结论写死,才产生故障。可检验判据:若加入『但是……』能取消原结论而不产生矛盾,原推理就是可废止的,不是逻辑蕴含。
值得辩论的问题:当智能体或规则系统做推理时,是否应该把『撤回条件』和『结论』同等记录?如果只记录结论,系统会丢失默认失效的证据链。







0 评论