逻辑语言看起来好像学会就能增强逻辑,但事实是逻辑语言大部分为计算机语言和数学语言服务,若将太多生活常识 尝试与逻辑语言组合在一起,则会一团糟。前几天有人尝试将己所不欲勿施于人,翻译成逻辑语言,并归纳出了施于人即己所欲,我只能感受到不对,但是我证明不出来
注意本文由本人从英文课程中 用本人所学做翻译,请以实际翻译为主,或等我学完 离散数学的时候再来更改orz
首先介绍几个基本的逻辑
AND
合取:对于事件A,B来说 若A AND B
为真, 那么事件A和事件B同时为真。- 举个例子,我有女朋友,我在打游戏。这句话如果是真的,那我既有女朋友又能打游戏。如果是假的,要么我没有女朋友要么我没在打游戏,甚至我又没有女朋友 又没有打游戏。
- Truth table:
A | B | A AND B |
---|---|---|
T | T | T |
T | F | F |
F | T | F |
F | F | F |
OR
析取:对于事件A,B来说 若A OR B
为真, 那么事件A或事件B为真。- 举个例子,我有女朋友或者我在打游戏。这句话如果是真的,那我既有可能 有女朋友 又有能 在打游戏。如果是假的,我没有女朋友且我没在打游戏。
- Truth Table:
A | B | A OR B |
---|---|---|
T | T | T |
T | F | T |
F | T | T |
F | F | F |
IMPLIES
蕴含: 对于事件A,B来说,如果A IMLIES B
为真,举个例子 "如果今天下雨,那么我带伞" 具体分析如下:- A 为真 且 B 为真, A为真指的是今天下雨了,B为真指的是我带伞了,所以这整句为真
- A 为假指的是今天不下雨,那么在这种情况下 我们不知道真实状态,有可能大晴天,也有可能为其他情况,在这种时候,B是否为真已经不在重要
- 可能还是难以理解,那么试着换成 “如果我能学懂逻辑语言,猪能在天上飞” 呢?事实摆在这里,我学不会逻辑语言,这时候猪能不能飞已经不重要了
- 而数学逻辑上,将这种无理的情况归结为真
- Truth Table:
A | B | A IMPLIES B |
---|---|---|
T | T | T |
T | F | F |
F | T | T |
F | F | T |
IFF
等价:IFF == If and only if
对于事件A,B来说,A IFF B == A IMPLIES B AND B IMPLIES A
, 若A IFF B
为真, 那么事件A,B 同为真,或同为假- Truth Table:
A | B | A IMPLIES B | B IMPLIES A | A IMPLIES B AND B IMPLIES A | A IFF B |
---|---|---|---|---|---|
T | T | T | T | T | T |
T | F | F | T | F | F |
F | T | T | F | F | F |
F | F | T | T | T | T |
NOT
否定: 对于事件A,NOT A
为真, 那么事件A为假- Truth Table:
A | NOT A |
---|---|
T | F |
F | T |
逻辑门用到的逻辑语言
XOR
: 对于事件A,B来说,如果A XOR B
为真, 只有A,B其中一个为真- Truth Table:
A | B | A XOR B |
---|---|---|
T | T | F |
T | F | T |
F | T | T |
F | F | F |
XAND
: 等价于IFF
命题公式(Propositional Formula)
说白了,命题公式就是由逻辑语言组成的公式,在上面已经列举过些许
再多举几个例子:
A AND B AND NOT C OR D IMPLIES E IFF F
是命题公式A AND AND B NOT C
则不是命题公式, 双AND
在这里并没有任何意义
在命题公式中运算顺序如下,NOT
AND
OR
IMPLIES
IFF
, 如果有括号,括号内的运算优先所以一定记得加括号呜呜呜
Valid/Tautology 重言式
当一个命题公式的所有值都为真时,称其为重言式,例如:
P OR NOT P
永远为真P IFF P
永远为真
Unsatisfiable/Contradition 矛盾式
当一个命题公式的所有值都为假时,称其为矛盾式,例如:
P AND NOT P
永远为假P IFF NOT P
永远为假
Satisfiable 可满足式
当一个命题公式至少有一个值为真时,成为可满足式,换句话说,若个命题公式不为矛盾式,其一定是可满足式
例题
判断下列命题公式
P IMPLIES Q IMPLIES P
P IMPLIES (Q IMPLIES P)
Normal Form 范式
私以为有关于 文字 Literal 的定义没有什么屁用
- 命题变项以及其否定式称为文字
disjunctive form 析取式:
- 由
OR
将有限个文字连接起来
conjunctive form 合取式:
- 由
AND
将有限个文字连接起来
那么接下来就是令人头大的范式了
析取范式 Disjunctive Normal Form:
- 由有限个简单合取式构成的析取式为析取范式
- 举个例子 `(A AND B) OR (C AND D)
合取范式 Conjunctive Normal Form:
-
由有限个简单析取式构成的合取式为合取范式
- 举个例子 `(A OR B) AND (C AND D)
-
要注意的是,在范式中不应该出现
IMPLIES
IFF
-
对于给定的命题公式,合取范式/析取范式的
介绍几个定理,其实不介绍也罢因为我感觉都是废话,但是写证明的时候就是要让用定理
-
一个析取范式是重言式当且仅当它同时含某个命题变项及它的否定。
- 举个例子
A OR B OR NOT A
- 举个例子
-
一个合取范式是矛盾式当且仅当它同时含某个命题变项及它的否定。
- 举个栗子
A AND B OR NOT A
- 举个栗子
-
任一命题公式都存在着与之等值的析取范式与合取范式
例题
按照下列Truth Table写出有关M的析取范式以及合取范式
P | Q | R | M |
---|---|---|---|
T | T | T | F |
T | T | F | T |
T | F | T | T |
T | F | F | F |
F | T | T | T |
F | T | F | F |
F | F | T | F |
F | F | F | T |
谓词逻辑公式 Predicate Logic Formulas
- 由谓词组成的表达式
- 举个例子
\forall a\in \Reals \exists b\in \N, b > a
- 在上述例子,用谓词声明过的变量称其为量化 Quantified的
- 如果一个变量未被量化,称其为 Free/Unquantified 未被量化的
- 若一个谓词逻辑公式中变量全被量化,且由对应定义域以及范围的函数组成(其定义域中没有空集)称之为 interpretation
这个俺不知道咋翻译所以就这样吧 - 将一个未被量化的变量转换为定义域中元素的过程成为 valuation
这个我也不知道咋翻译
前束范式 Prenex Normal Form
- 当谓词逻辑公式以
Q_1x_1\in D_1 Q_2x_2\in D_2 Q_3x_3\in D_1 ... Q_kx_k\in D_k E(x_1,...,x_k)
表达时成为前束范式 - 其中
Q_1
为\forall or \exists
E(x_1,...,x_k)$$
为没有谓词的命题公式
Solution
命题公式
- 取
P = T, Q = T
的得到 T,P = F, Q = F
的得到 T,所以该命题公式既不是重言式亦不是矛盾式,是为可满足式 - 按照顺序先考虑
Q IMPLIES P
, 设其为A
, 当P
为 F的时候,A
的取值无关紧要,结果都为 T. 当P
为 T时,Q IMPLIES P == $Q IMPLIES T$$
永远为T, 所以该命题公式为重言式
范式
- 要得到M,我们可以写出以下命题公式
P AND Q AND (NOT R)
P AND (NOT Q) AND R
(NOT P) AND Q AND R
将其用析取式连接起来则为(P AND Q AND (NOT R)) OR (P AND (NOT Q) AND R) OR ((NOT P) AND Q AND R)
, 当然这种式子可以简化,但是我是懒狗
其合取范式为(P OR Q) AND (P OR R ) AND (Q OR R) AND ((NOT P) OR (NOT Q) OR (NOT R))
推导公式有些繁琐,等俺有空再码吧
基本等价关系
G AND T == G
G OR F == G
G OR (G AND H) == G
G AND (G OR H) == G
G IMPLIES H == NOT G OR H
(G IMPLIES H) AND (G IMPLIES NOT H) == NOT G