如果结论的正确性与论证的前提有逻辑上的关联性,则该论证是有效的。比如上述鱼类与鲨鱼的论证是有效论证,因为如果论证的前提是正确的,则结论必然也是正确的。我们可以通过一些改动来破坏这个论证的有效性。

这个论证是无效的,因为它的结论与前提没有逻辑上的关联性。所有鲨鱼都有鳍,这是事实,但我们无法根据该论证的前提推导出这样的事实,所以该论证无效。

请注意,有效性与真理无关。即使论证的前提不正确,论证也可能是有效的。

因此,每个人的大脑中都有一只隐形的乌龟。

上述论证的前提并不正确(至少据我所知),但该论证仍然是有效的。

如果论证有效而且前提为真,则该论证是可靠的。我们的第一个论证(“所有鱼类都生活在水中。所有的鲨鱼都是鱼。因此,所有鲨鱼都生活在水中。”)是可靠的,因为该论证有效的,而且它的前提为真。可靠的论证总能得出真实的结论。

下面是另一个可靠的论证。

每一位20世纪的美国总统都是男性。

下面,我们来进入正题,将逻辑论证应用到编程中。