知识卡片
逻辑蕴涵的形式化本质与自然语言直觉的偏离
内容
命题是非真即假的断言;不含联结词(NOT/AND/OR/IF…THEN…/IFF)的命题是简单
命题,含联结词的是复合命题,联结词本质是逻辑运算符,接受一个或多个命题、
返回另一个命题。理论上共有16种可能的二元真值表(对应16个可能的二元联结词),
AND、OR这类通用名称只是助记符号,本身没有任何固有含义,只是恰好和自然语言
对应词行为相似但不完全相同——书中特别举例说明:逻辑上p AND q和q 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)表达,甚至存在单一一个联结词就能表达一切联结词的
可能性(这个性质叫真值功能完备性)。