知识卡片

逻辑蕴涵的形式化本质与自然语言直觉的偏离

普通读书笔记卡

内容

命题是非真即假的断言;不含联结词(NOT/AND/OR/IF…THEN…/IFF)的命题是简单 命题,含联结词的是复合命题,联结词本质是逻辑运算符,接受一个或多个命题、 返回另一个命题。理论上共有16种可能的二元真值表(对应16个可能的二元联结词), AND、OR这类通用名称只是助记符号,本身没有任何固有含义,只是恰好和自然语言 对应词行为相似但不完全相同——书中特别举例说明:逻辑上p AND qq AND p 永远等价,但自然语言里”我很失望且我赞成更换领导”和”我赞成更换领导且我很 失望”却明显不等价,这说明逻辑联结词的含义是不依赖上下文的,而自然语言不是。 IMPLIES(蕴涵,IF p THEN q)是最容易被误解的联结词,其真值表由形式化定义 决定(完全由运算元真值本身决定,与运算元含义无关),而非模仿自然语言的因果 直觉:IF(火星有两颗卫星)THEN(金星在地球和水星之间)两个命题内容毫无关系, 但因为前件、后件都恰好为真,整个蕴涵命题依然为真;IF(木星是恒星)THEN(火星 有两颗卫星)前件为假,蕴涵命题同样为真——这条”前件为假则蕴涵恒真”的规则 对数据库约束而言恰恰是必需的(呼应[[数据库约束的分类元组约束与AND聚集表述 法]]),比如约束IF(COLOR='Red')THEN(CITY='London'),绝不希望因为一个非 红色的零件就判定约束被违反,所以前件为假时约束理应为真。这条形式化定义直接 推出p IMPLIES q逻辑等价于(NOT p)OR q,进一步说明NOT/AND/OR/IMPLIES/IFF 这5个联结词本身也不是彼此独立的”基本”联结词——所有一元和二元联结词都可以 只用NOT配AND(或NOT配OR)表达,甚至存在单一一个联结词就能表达一切联结词的 可能性(这个性质叫真值功能完备性)。

参考来源

- 位置:《SQL与关系数据库理论——如何编写健壮的SQL代码》第10章"SQL与逻辑" 10.2节"简单命题和复合命题"(源文件:OEBPS/text00110.html) - 结论依据:原文明确"逻辑蕴涵如同所有的联结词一样是(也必定是)形式化定义 的,即,它是完全以其运算元的真值而不是运算元的含义来定义的……在p为TRUE 且q为FALSE的情况下为FALSE……命题p IMPLES q逻辑等价于命题(NOT p)OR q ……所有可能的一元联结词和二元联结词都可以由NOT和AND或NOT和OR组合的方式 来表达"。 - 原始内容:逻辑蕴涵……是完全以其运算元的真值而不是运算元的含义来定义的 ……命题p IMPLES q逻辑等价于命题(NOT p)OR q……所有可能的一元联结词和 二元联结词都可以由NOT和AND或NOT和OR组合的方式来表达。