谓词逻辑——自由变元与约束变元

本文探讨了命题逻辑的局限性,引入了谓词逻辑以更精确地表达判断语句。谓词逻辑中的项由变量、常值符号和函数构成,而自由变元和约束变元的概念帮助解释了量词"所有"和"某些"的含义。通过语法分析树,可以直观理解公式结构,其中自由变元需额外信息确定,而约束变元受到量词约束。

谓词逻辑

命题逻辑在是具有局限性的。
命题逻辑在处理语句成分中有诸如“否”、“并”、“或”和“如果···那么···”时, 取得了令人满意的结果, 但人类语言比这丰富得多, 我们如何处理如“存在···”, “所有···”,“在···中”,和“只有···”呢?
命题逻辑有其明显的局限性, 我们需要更精确微妙的 谓词逻辑(predicate logic) 来表达判断语句, 谓词逻辑也称为一阶逻辑(first-order logic)


补充:

  • 一阶谓词逻辑:谓词表示性质;
  • 二阶谓词逻辑:谓词表示关系;

语言的项由变量、常值符号以及作用其上的函数构成。函数可以嵌套,如m(m(x))m(m(x))m(m(x))
(此部分参考 《软件形式化基础》教材)

语法分析树

谓词逻辑公式可以用语法分析树表示。

  • ¬\neg¬∀y\forall yy∃y\exists yy绑定优先级最高;
  • 其次为 ∧\land∨\lor;
  • 然后是→\to,它是右结合的。

只要不致引起歧义,我们经常省去关于量词的括号。

谓词逻辑公式可以用语法分析树表示。例如,下图的分析树表示公式∀((P(x)→Q(x))∧S(x,y))\forall((P(x)\to Q(x))\land S(x, y))((P(x)Q(x))S(x,y))
在这里插入图片描述

自由变元和约束变元

变量和量词的引入使我们可以表达“所有”和“某些”的含义。
直观地说,为证明∀xQ(x)\forall x Q(x)xQ(x) 为真,相当于将x用任何可能的取值来代替,检测Q对每一个这样的代入均成立。
公式为 “真”包含两层重要的、但不同的意义。
首先,如果对涉及的所有谓词和函数符号赋以具体含义,则我们有一个模型,并可以检测在这个特定模型中公式是否为真。
例如,若一个公式 是一个硬件线路要求的行为编码,那么,我们要知道是否它对线路模型是真的。其次,有时人们需要保证某个公式对所有模型都为真。
考虑关于常量c的公式P(c)∧∀y(P(y)→Q(y))→Q(c)P(c)\land \forall y(P(y)\to Q(y))\to Q(c)P(c)y(P(y)Q(y))Q(c)。显然,无论考虑什么样的模型,这个公式都应该是真的。公式为真的第二层含义是2.3节讨论的内容。
遗憾的是,如果要在一个特定模型中形式地定义公式为真,则更为复杂。在理想情况下,我们寻求一个定义,可以用来编写验证公式在特定模型中是否成立的计算机程序。首先,我们需要理解以不同方式出现的变量。考虑前面已画出语法分析树的公式:∀x((P(x)→Q(x))∧S(x,y))\forall x((P(x) \to Q(x)) \land S(x, y))x((P(x)Q(x))S(x,y))

可以发现变量出现在两种不同的位置:

  • 第一,在像∀x\forall xx∃z\exist zz的结点中,总出现在量词∀\forall∃\exist后面;这样的结点总是只有一棵子树,它包含了对应量词的作用范围
  • 变量出现的另一种方式是包含变量的叶结点。若变量是叶结点,则它们代表仍旧需要具体化的值。这主要有两种形式:
  1. 在上图所示的例子中,有三个叶结点xxx。如果从叶结点xxx的任意一个出发向上遍历,都会遇到量词∀x\forall xx。这意味着xxx的出现实际上受到了∀x\forall xx的约束,因此,它们表示或代表了xxx的任意可能值。
  2. 在向上遍历的过程中,叶结点yyy所遇到的唯一量词是∀x\forall xx,但是xxxyyy没有任何关系;xxxyyy是两个不同的占位符。所以在这个公式里,yyy是自由的。
    这意味着它的值需要一些附加信息才能确定。例如,内存位置上的内容。

在这里插入图片描述

[1]面向计算机科学的数理逻辑——系统建模与推理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值