美文网首页工作生活
命题逻辑和一阶逻辑

命题逻辑和一阶逻辑

作者: 闰秋 | 来源:发表于2019-07-04 20:33 被阅读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}

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

    • 项:t::=\mathcal{F}/0 \mid \mathcal{C} \mid \mathcal{F(t_1,t_2,…t_n)},用于表达对象object
    • 公式:
      \phi::=\mathcal{P}(t_1,t_2,…,t_n) \mid \lnot \phi \mid (\phi \land \phi) \mid (\phi \lor \phi) \mid (\phi \rightarrow \phi) \mid \forall x(\phi) \mid \exists x(\phi)

    一阶逻辑的语义:

    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环境下的满足性定义:

    • P(t_1,t_2,…t_n),根据l字典,将全部变量换为具体值,此时\mathcal{M}\models_l P(t_1,…,t_n) \iff (a_1,…,a_n)均在P^{\mathcal{M}}
    • \forall x \phi:将公式\phi中的每个x分别替换为模型A中的具体值,然后在根据字典,将其他变量换为具体值,如果每一次的替换都能满足,则\forall x \phi也被该模型满足
    • 存在性,类似上条,但对约束变量x的替换只需要找到一个在A中的具体值即可。
    • 或且非蕴含的满足性分别检查单个公式的满足性得到T和F,再按照命题逻辑联结词真值表得到T和F。

    给出模型解释的时候,需要使用扩展签名,否则将会出现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

    • 函数:一个value,来源于A

    • 谓词:为真的元组组合,元组元素来源于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

    相关文章

      网友评论

        本文标题:命题逻辑和一阶逻辑

        本文链接:https://www.haomeiwen.com/subject/pwathctx.html