工作生活

命题逻辑和一阶逻辑

2019-07-04  本文已影响0人  闰秋

命题逻辑的语义

\phi_1, \phi_2, ... \phi_n \vdash \psi称为一个推理(sequent),如果使用Natural Deduction的方式进行推导(derivation),可以由\phi_1, \phi_2, ... \phi_n得到\psi,那么这个推理是有效的。
定义:

  1. 真值集合为\{T,F\},T为真,F为假
  2. 一个公式的估值(valuation)或模型(model)是指为公式中的每一个原子赋一个真值集合中的值
    对于p \land q这一公式而言,\land仅考虑p和q的真假值,并不考虑p和q代表什么。

soundnesscompleteness

对于合理的推理\vdash,能否在真值表的语义下,保证当\phi_i为T时,\psi不可能是F。

\phi_1, \phi_2,...\phi_n \vdash \psi中,当全\phi_1,\phi2,...\phi_i部成立时,\psi也成立,则称\phi_1,\phi_2,...\phi_i语义蕴含 \psi

soundness:若i \vdash \psi是合理的,则$$

completeness:若\phi_1, \phi_2, ... \phi_n \models \psi,则是\phi_1, \phi_2,...\phi_n \vdash \psi合理的

证明:太长不看

实际是想说:一个逻辑系统需要满足soundness和completeness的一致性。

一阶逻辑

signature:三个部分\mathcal{F},\mathcal{C}, \mathcal{P}

分别是函数名、常数名、谓词名

一般省略\mathcal{C},因为其可看作无参数的\mathcal{F}

一阶逻辑的公式中,两类:

一阶逻辑的语义:

proof-based logic:给出一个operative的,通过Natural Deduction方式的\vdash证明

优点:一旦找到一个证明方式成功推导,即可证明\Gamma \models \psi

缺点:难以证明\Gamma \not \models \psi,需要遍历全部可能的证明方式,才能够得到结论

semantic-based logic:通过真值表验证\vdash的正确性

优点:更容易证明\Gamma \not \models \psi,只要找到一个左侧为T的assignment,而右侧为F即可

缺点:想要证明\models更困难,需要遍历全部的真值组合。

一阶逻辑evaluate的难点:每一个变量都是一个可能的具体值的占位符

\forall x\phi,每个x,\phi都为真,则最终取值为真

\exists x \phi,找到一个x0,\phi为真,则最终取值为真

如果\phi的结构为\land \lor \neg \rightarrow等(解析树根节点),那么最终的真值可以按照各谓词公式的真假,遵循命题逻辑中的连接词运算进行求解

问题进一步转为求解P(t_i)的真值。对此需要明确谓词常量的含义和term的含义。

(\mathcal{F},\mathcal{P})的模型\mathcal{M}

  1. 非空集合A,所有可能的具体取值全体集合
  2. 对每一个对无参函数f \in \mathcal{F}f^\mathcal{M}有一个A中对应的取值
  3. 对每一个元数>0的函数f,f^\mathcal{M}是一个映射,从A^n \rightarrow A,A的n元组集合到A中某元素的映射
  4. 对每一个元数n>0的谓词常量P,P^\mathcal{M}A^n的子集。

例,\mathcal{F} \stackrel{def}{==}\{i \}, \mathcal{P}\stackrel{def}{==}\{R,F \},R是二元谓词,F是一元谓词,\mathcal{M}包含:

  1. A={a,b,c},具体取值的全体

  2. i^\mathcal{M}=\{a\}

  3. 无非0元函数

  4. R^\mathcal{M}A^2的子集。A^2=\{(a,a),(b,a),(c,a),(a,b),(b,b),(c,b),(a,c),(b,c),(c,c)\}

    R^\mathcal{M}可以为\{(a,a),(a,b),(a,c),(b,c),(c,c)\}

    F^1=\{a,b,c\},则F^M可为\{b,c\}

环境:将变量映射到具体值的look-up table
给定\mathcal{F,P}的一个模型\mathcal{M}(按照上述方式给出),若\mathcal{M}\models_l \phi,则在l环境下,公式\phi被计算为真
对于在l环境下的满足性定义:

给出模型解释的时候,需要使用扩展签名,否则将会出现bug:

\forall x \forall y love(y,alma) \land love(x, y) \rightarrow \lnot love(y, alma)

\sigma=\{\mathcal{F,P}\}=\{alma, love\}

用解释的方式定义:

|I|=\{a,b,c\}

函数常量alma,alma^M=a

在解释空间中取值替换变量y(例如a),替换变量:

love^I(a, alma)=love^I(a^I,alma^I),此时出现问题,y^I没有定义,因为Interpretation的domain必须是\sigma的子集。

于是扩展\sigma\sigma^I=\sigma \cup \{a^*,b^*,c^*\},此处的*是abc实际值的名字,(a^{*}){^I}=a

并且,原有定义下\forall x F为真,当且仅当对所有的\xi \in |I|F^I(\xi)为真

改为:

当且仅当对所有的\xi \in |I|F^I(\xi^*)=F^I((\xi^*)^I)为真

love^I(a^*, alma)=love^I((a^*)^I,alma^I)=love^I(a,a)

这一解释就没有问题了。


Logic in CS中的定义下,虽然未考虑\sigma。对于模型的映射直接是


一个全局的具体取值A


其实是相同的,因为函数和谓词就是signature的组成部分。

检查任意性和存在性时,

变量:直接替换为A中的元素,相当于隐性定义了对于非signature中的元素,映射的结果是元素值自身。


\models在谓词逻辑中是重载的,对模型而言表示满足,对两个formula而言表示语义蕴含。

在l的环境下,\Gamma \models \psi \iff 若全部的\mathcal{M} \models_l \phi for all \phi \in \Gamma,则 \mathcal{M} \models \psi

一个模型满足一个公式组,当且仅当这一模型满足公式组中的每一个公式,如果这一公式组的每个模型都还满足另一个公式\psi,那么这个公式组蕴含这一公式。

存在一个模型,使得\mathcal{M} \models_l \phi,则\phi可满足

一阶逻辑无法表达传递闭包:

image-20190704195501395

能否找到一个公式\phi,公式中只包含两个自由变量u和v,一个谓词关系R,通过这个公式可以表达:
\phi(u,v)成立 \iff 存在一条从u到v的路径

\{(u,v)| R(u,v) \lor (\exists tR(u,t)\land R(t,v)) \lor (\exists m \exists n R(u,m)\land R(m,n)\land R(n,v))...\}

这样的R无法找到,这样的公式是无止尽的。

一阶逻辑公式的合理性是undecidable的:给定一个FOL公式\phi\models \phi是否成立?

这个问题无法解答。

==》FOL的满足性问题也是undecidable的

证明:F是合理的 当且仅当 \lnot F是不可满足的(可满足:存在一个interpretation I,I \models F

上一篇 下一篇

猜你喜欢

热点阅读