第五章:一阶逻辑的语法和语义
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一阶谓词逻辑部分——一阶语法:
1定义字母表的定义
一个一阶语言L的字母表由以下符号组成:
1)一组非逻辑符号,其中包含:
i)一个(可能空的)个体常项集;{a1,a2,…}
ii)对每个n ≥1, 一个(可能空的)n元谓词集;
{F11,F12,…,F21,F22,…,F n1,F n2,…,…}
iii)对每个n ≥1, 一个(可能空的)n元函数符号集{f11,f12,…,f21,f22,…,f n1,f n2,…,…}
2)一组固定的逻辑符号,其中包含:
i)个体变项x0, x1, x2,…(可数无穷多);
ii)量词∀,[∃];
iii)联结词⌝,→,[∧,∨,↔];
iv)等词[≡];
v)括号),(。
注1:我们上面定义的,可以叫做带等词的一阶语言的字母表。形式语言对其字母集(及其每个子类)的大小做了限定,要求它(它们)是可数的。这是因为,对不可数集合,一般没有一个能行的方法来判定一个对象是否属于它。
注2:所有一阶语言有共同的逻辑符号,它们的字母表的差别完全由非逻辑符号决定,所以,在不引起误解的情况下,我们不妨把一个一阶语言就简单地看成它的非逻辑符号
集。
注3:一个语言(的字母表)虽然可能是为了描述某个特殊的结构而设计的,但字母表一旦给定,这个语言也可以用来描述其他的结构,只要这些结构的组成与这些字母(的一部分)相匹配就行。
注4:在谈论一个一阶语言的时候,我们需要一些元语言的变项来代表这个(对象)语言字母表中的任意某类符号。我们约定,在元语言中用
x, y, z等代表一阶语言的个体变项;
c, d, e等代表一阶语言的个体常项;
P, Q, R等代表一阶语言的谓词;
f, g, h等代表一阶语言的函数符号。
2 项的归纳定义
下一步我们要从字母表中构造一阶语言的词项(以下简称项)。项的作用是指称或表示结构中的个体,所以个体常项是一种项,个体变项是另一种项,而函数,如f(x) = x的母亲,其函数值也代表个体,所以函数表达式也是项。现在的问题是:到底哪些东西是项,或者,我们如何确切定义项的集合?
设L为一阶语言。L-项定义为:
1)基始条件:
i)L字母表中的每个个体常项是L-项。
ii)每个个体变项是L-项。
2)归纳条件:对任意n 1,若f是L的n元函数符号,且符号串t1,…, t n是n个L-项,则它们的连接ft1…t n也是L-项。
3)封闭条件:没有其他东西是L-项。
注1:叙述这个定义时,我们用到了新的元语言变项t。以后我们就用r,s,t等代表项。
注2:如此定义的L中的项具有可判定性,具体的判定步骤我们省略。项的长度是有穷的,但是项的集合可以是可数无穷的。
3 公式的归纳定义
语言中有了项,我们便可以用不同的方式指称结构中的个体。但是,仅能指称个体,还不足以描述结构。我们还需要语言中其他的表达式,来表达个体具有什么性质(属于什么集合)以及个体间具有什么关系(个体的有序组属于什么集合),或者说,表达关于结构的一阶命题。这种表达式,叫做公式。
公式与项类似,也是字母表中的符号组成的符号串,也能用归纳定义把它确定下来。
定义设L为任意一阶语言。L的公式(或L-公式)定义为:
1)基始条件:
i)对L的任意n(n ≥ 1)元谓词P和任意n个L-项t1, t2,…, t n,Pt1…t n是L-公式;
2)归纳条件:
ⅰ)如果A是L-公式,则⌝A也是L-公式;
ⅱ)如果A,B是L-公式,则(A → B)也是L-公式;
ⅲ)如果A是L-公式,x是个体变项,则∀x A也是L-公式;
3)封闭条件:没有其他东西是L-公式。
注1:可以看出,这里定义的还是L-串的某种连接形成的L-串。基始条件确定的公式,称为原子公式。原子公式由谓词和项直接连接而成。其他非原子公式都是从原子公式出发,添加真值联结词或量词形成的。归纳条件确定的公式ⅰ)ⅱ)ⅲ)分别称为否定式、蕴涵式、全称式。注意,∀x或∃x放在一个公式A之前形成新公式的时候,并不要求A中出现x。注2:定义中出现了元语言变项A和B,我们约定以后就用它们代表公式。注意,象Pt1…t n、A、(A ∧ B)、∀x A等等的,有元语言变项出现于其中的,本身作为符号串都不是公式(公式只由对象语言中的符号组成),它们称为公式模式。每个公式模式都代表形如自身的一切公式。显然,与L-项的情形一样,每个L-公式也是有穷长的。公式的集合可以是可数无穷的。
注3:对于一个符号串是否是公式,我们也有能行的可判定
程序。
4自由和约束、代入
4.1 定义对一个量化式∀x A(或∃x A),称其子公式A是量词∀x(或∃x)的辖域。一般而言,如果∀x A(或∃x A)作为子公式出现在公式B中,则称A是这个量词在B中的辖域。
直观上看,一个量词的辖域就是紧跟着它的最短公式。比如,在L1st-公式∀x1(P01c1→ (P01c1∧P11x1)) 中,∀x1的辖域就是(P01c1→ (P01c1∧P11x1));而在(P01c1→∀x1 (P01c1∧P11x1))中,∀x1的辖域则是(P01c1∧P11x1)。一个量词在一个公式中可能有多次出现,此时它的每一次出现都有一个辖域。例如,在∀x1 (P01c1→∀x1 (P01c1∧P11x1))中,∀x1的第一次出现的辖域是(P01c1→∀x1 (P01c1∧P11x1)),而第二次出现的辖域则是(P01c1∧P11x1)。
4.2 定义在公式ϕ中,一个变项x如果出现在某个形如∀x (或∃x)的量词的辖域中,或它就紧跟在∀(或∃)后面,则称x在A中的这处出现是约束的。变项的非约束的出现,称为自由出现。
如果x在A中有一处自由出现,则称x是A中的自由变项。如果x在A中的所有出现都是约束的,则x是A中的约束变项。
4.3 例考虑以下L ord-公式: