本文主要是介绍数理逻辑学习笔记[2] #20210708,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
数理逻辑学习笔记[2] #20210708
- 命题逻辑:语法
- 公理间的关系
- 可靠性
- 扩充、一致性定理
- 完全扩充、完全性定理
- 命题逻辑附录
命题逻辑:语法
公理间的关系
- Q:
(L1) A → ( B → A ) \mathscr A\to(\mathscr B \to \mathscr A) A→(B→A)
(L2) ( A → ( B → C ) ) → ( ( A → B ) → ( A → C ) ) (\mathscr A \to(\mathscr B \to\mathscr C))\to((\mathscr A \to\mathscr B)\to(\mathscr A \to \mathscr C)) (A→(B→C))→((A→B)→(A→C))
(L3) ( ∼ A → ∼ B ) → ( B → A ) (\sim \mathscr A \to \sim \mathscr B)\to(\mathscr B\to\mathscr A) (∼A→∼B)→(B→A)
(L4) ( ∼ A → ∼ B ) → ( ( ∼ A → B ) → A ) (\sim \mathscr A\to\sim\mathscr B)\to((\sim \mathscr A \to \mathscr B)\to\mathscr A) (∼A→∼B)→((∼A→B)→A)
我们想证明(L1)(L2)(L3)构成的公理系统和(L1)(L2)(L4)组成的公理系统等价。(注:前者称为Łukasiewicz’s Third axiom system. 后者称为Mendelson’s axiom system.)
由(L1)(L2)(L3)证明(L4). 由演绎定理我们知道只需证明已知()时能推出 A \mathscr A A,而这只需()。
A:
L1,L2,L3, ∼ A → ∼ B \sim \mathscr A \to \sim\mathscr B ∼A→∼B, ∼ A → B \sim \mathscr A \to \mathscr B ∼A→B
已知以上条件时,显然 ∼ A ⊢ ∼ B \sim \mathscr A\vdash \sim \mathscr B ∼A⊢∼B且 ∼ A ⊢ B \sim \mathscr A \vdash \mathscr B ∼A⊢B. 再回忆:已知L1,L2,L3时有 B , ∼ B ⊢ A \mathscr B,\sim \mathscr B\vdash \mathscr A B,∼B⊢A,就立刻知道已知L1,L2,L3, ∼ A → ∼ B \sim \mathscr A \to \sim\mathscr B ∼A→∼B, ∼ A → B , ∼ A \sim \mathscr A \to \mathscr B,\sim \mathscr A ∼A→B,∼A时可推出 A \mathscr A A. 最后回忆 ∼ A → A ⊢ A \sim \mathscr A\to \mathscr A\vdash \mathscr A ∼A→A⊢A即可。 - Q: 接上,如何证明另一方向?
A: 只需要证明已知L1,L2,L4, ∼ A → ∼ B , B \sim \mathscr A\to\sim \mathscr B,\mathscr B ∼A→∼B,B时能推出 A \mathscr A A. 而这只需注意 B → ( ∼ A → B ) \mathscr B\to(\sim\mathscr A\to\mathscr B) B→(∼A→B)即可。 - Q: 为了证明公理(模式)L1,L2,L3每一条都是独立的,我们的思路是构造某种性质,使得一切L2,L3通过替换得到的公式都(),且若 A , A → B \mathscr A,\mathscr A\to \mathscr B A,A→B都具有该性质,则()。但()不具有该性质。这就可以说明通过公理模式()和推理规则()一定无法得到L1.
A: 具有该性质, B \mathscr B B具有该性质,L1替换的公式,L2,L3,MP. - Q: 接上, ∼ \sim ∼作为一元运算符,对于二值逻辑可能有()种具体的含义。 → \to →作为二元运算符,对于二值逻辑可能有()种具体的含义。如果针对每个公式指派真值0或1,且之前2.中所述“某种性质”指真值为1,那么在二值逻辑的框架内是否可能为 ∼ , → \sim,\to ∼,→指定某种具体的含义(即某个具体的真值表或布尔函数),用2.的方法作出L1独立性的证明?为什么?
A: 4,16.
回忆:形式系统中的运算符的含义是未事先指定的。我们可以给 ∼ , → \sim,\to ∼,→指定任何满足公理模式和推理规则的真值表。
以下用等号表达真值表的取值。例如 ∼ 1 = a \sim 1=a ∼1=a表示真值表中对1做 ∼ \sim ∼运算得到 a a a, a a a是0或1. 我们希望L2,L3替换的公式都为1,且MP规则能保持1. 但是L1替换的公式不一定为1.
设 ∼ 1 = a , ∼ 0 = b , 1 → 1 = c , 1 → 0 = d , 0 → 1 = e , 0 → 0 = f \sim 1=a,\sim 0=b,1\to1=c,1\to0=d,0\to1=e,0\to0=f ∼1=a,∼0=b,1→1=c,1→0=d,0→1=e,0→0=f,则首先 d = 0 d=0 d=0,否则当 A \mathscr A A和 A → B \mathscr A\to \mathscr B A→B都为1时,不能推出 B \mathscr B B为1.
此时若 c = 0 c=0 c=0,则对任意指派了1的公式 A \mathscr A A,有 A → B \mathscr A\to\mathscr B A→B为0. 所以为了L3成立,L3的前件必须恒为0,则必须有对任意 A , B \mathscr A,\mathscr B A,B的指派都有 A → B \mathscr A\to\mathscr B A→B为0,这又和L3成立矛盾了。故 c = 1 c=1 c=1.
注意c,d,e,f不全相等(有0也有1),故若 a = b a=b a=b,则L3相当于 a → 0 a\to 0 a→0和 a → 1 a\to 1 a→1都为1,这说明 a = b = 0 , e = f = 1 a=b=0,e=f=1 a=b=0,e=f=1,这时L1恒成立,故这样的真值表不能用来作独立性证明。故 a ≠ b a\neq b a
这篇关于数理逻辑学习笔记[2] #20210708的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!