谓词逻辑之 语法规则

 

谓词逻辑公式涉及两种事物:

是我们谈及的对象,如ap这样的个体,以及xu这样的变量和函数符号。在谓词逻辑中,用来表示对象的表达式称为(terms)

是表示真值,即公式,例如Y(x,m(x))是公式。

谓词公式由三个集合构成:谓词符号集P函数符号集F常值符号集C

其中常值符号视为没有任何变量的函数符号,因此常值与必须变量的真正函数均属于集合F

为方便起见,我们丢弃常值符号集C,将常值市委0元,即零元(nullary)函数。

语言的由变量、常值符号、作用在其上的函数构成。函数可以嵌套。

任何变量都是项;

c属于F是零元函数,则c是项;

t1,t2…tn是项,且f属于F的元n>0,则f(t1,t2…tn)是项;

没有其他的项。

 

BNF可以写为:T::=x|c|f(t,…t)

其中x取遍一个变量的集合var,c取遍F中的零元函数符号,f取遍F中的元n>0的符号。

项的第一批构建块内容是常量(零元函数)和变量;

更复杂的项是由以前构造好的项与其元数相匹配数码的函数符号得到的;

项的概念依赖于集合F。如果改变了F,就改变了项的集合。

 

应用前面定义的F上项的集合,递归定义(F,P)上的公式集如下:

p属于Pn>=1元的谓词符号,t1,t2,是F上的项,P(t1,…tn)是公式

Φ是公式,则¬Φ也是公式

Φ和是公式,则(Φψ)(Φψ)(Φ->ψ)也是公式

Φ是公式,x是变量,则(xΦ)(xΦ)也是公式

没有其他形式的公式

BNF表示为Φ::=P(t1,t2,…tn)|(Φ)|(ΦΦ)|(ΦΦ)|(Φ->ψ)|(xΦ| (xΦ)

﹁,xx绑定优先级最高;

其次为

然后是,它是右结合的。

只要不致引起歧义,可以省去关于量词的括号。

 

来看一个例子:将下面语句翻译成谓词逻辑公式:

我父亲的每个儿子都是我的兄弟

我们需要考虑的是要选择把父亲表示成一个谓词还是一个函数符号。

作为一个谓词,常量m表示m是项。选择谓词集{S,F,B}

S(x,y): xy的儿子

F(x,y): xy的父亲

B(x,y): xy的兄弟

这样的结果是x y(F(x,m) S(y,x)->B(y,m)),对所有的xy,若xm的父亲,yx的儿子,则ym的兄弟;

f表示一个变量的函数,返回值是该变量的父亲,因为父亲存在且唯一,所以f确实是一个函数而不是一个关系。上述语句经符号编码后得:

x(S(x,f(m))->B(x,m)),对所有x,xm的父亲的儿子,则xm的兄弟。

实际上,上面的两个结果都有问题,你能看出来吗?

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值