有效性与健全性
区分演绎论证的形式有效性与前提真实性:有效只保证“若前提真则结论不可能假”,健全还要求前提实际为真。
[!info] related notes
- 所属 MOC: logic-moc
- 前置概念: argument-premise-and-conclusion
- 并列概念:
- 易混淆概念:
- 关系笔记:
有效性与健全性
一句话定义
有效性(validity)检查的是“前提到结论的连接是否必然”;健全性(soundness)则要求论证既有效,前提又实际为真。
这是形式逻辑最重要的区分之一。
有效性只看结构
一个演绎论证有效,当且仅当:
不存在一种情况,使得所有前提都为真,而结论却为假。
也可以记成:
前提全真
⇒
结论必须真
注意,这并不是说前提实际上是真的。
例如:
所有猫都会编程。 奶糖是一只猫。 所以奶糖会编程。
这个论证的前提显然有问题,但它的形式仍然有效:如果两个前提真的都成立,结论就不能不成立。
形式是:
所有 A 都是 B
x 是 A
∴ x 是 B
健全性 = 有效 + 前提真
健全论证
= 有效论证
+ 所有前提真实
例如:
所有正方形都是矩形。 这个图形是正方形。 所以这个图形是矩形。
如果前提都确实为真,这就是健全论证。
健全论证的结论一定为真,因为它同时保证:
- 起点没有错;
- 从起点走到结论的推理也没有断。
通俗解释:地图和起点
可以把推理想象成导航:
- 有效性:这条路线是否真的能从 A 到 B;
- 前提真实性:你是不是实际上站在 A;
- 健全性:你确实站在 A,而且路线也确实通向 B。
一条导航路线可以设计得完全正确,但如果你根本不在那个起点,它仍然不能告诉你现实中会到哪里。
一个无效但结论为真的例子
东京在日本。 2 + 2 = 4。 所以地球绕太阳运行。
前提和结论都是真的,但这不是好论证,因为前提与结论之间没有推出关系。
这提醒我们:
“结论碰巧是真的”与“论证证明了这个结论”是两回事。
反例法:怎样检查有效性
检查一个演绎形式是否有效,最有力的问题是:
我能不能构造一个“前提全部为真、结论为假”的可能情况?
如果能,论证就是无效的。
例如:
如果下雨,地面会湿。
地面湿了。
所以一定下雨了。
构造反例:清洁工刚用水冲过地面。
此时:
- “如果下雨,地面会湿”可以为真;
- “地面湿了”为真;
- “下雨了”为假。
因此这个推理形式无效。这种错误后来会学到:肯定后件。
有效性不等于说服力
现实讨论还有很多因素:
- 前提是否有证据;
- 概念是否含糊;
- 是否遗漏关键条件;
- 归纳证据是否足够强。
形式有效性只解决其中一个问题。
所以不要把:
“你的论证形式有效”
误听成:
“你的结论已经被现实证明。”
使用场景
哲学讨论
可以把争论拆成两类:
- 我们不同意前提;
- 我接受你的前提,但它推不出你的结论。
这两种分歧需要完全不同的讨论方式。
看 AI 回答
AI 经常生成“每句话都像真的,但结论并没有被它们支持”的段落。检查时问:
即使我暂时全部接受这些事实,最终判断是否仍然可能是错的?
技术决策
例如:
P1:所有使用 React 的项目都适合微前端。
P2:这个项目使用 React。
C:这个项目适合微前端。
形式可以有效,但 P1 显然过强。因此问题是前提,不是推理形式。
易混淆点
valid ≠ true
“有效”描述的是论证,不是某个单独命题的真假。
sound ≠ 听起来合理
逻辑中的 soundness 有严格含义,不只是日常语境里的“靠谱”。
无效 ≠ 结论必假
无效只表示:这个论证没有保证结论。结论可能碰巧是真的。
快速自测
判断:
所有程序员都会写 Rust。 小王是程序员。 所以小王会写 Rust。
答案:
- 有效:形式正确;
- 不健全:第一个前提实际为假。
再判断:
如果会 Rust,就会编程。 小王会编程。 所以小王会 Rust。
这次是无效。即使两个前提都为真,结论仍可能为假。
来源
- Open Logic Project, forall x: Calgary, Part I — Key notions of logic: https://forallx.openlogicproject.org/
- Stanford Introduction to Logic: https://logic.stanford.edu/intrologic/public/