0616-0619 答疑Live
怎样翻译数学语言
省流:遇到\(\forall\)用\(\rightarrow\),遇到\(\exists\)用\(\land\)
首先注意到恒等变换
我们来看两个具体问题
怎样把「对于任意\(x\in X\)都有\(P(x)\)」翻译成\(\forall xF(x)\)
故\(F(x)=(x\in X)\rightarrow P(x)\)符合条件
怎样把「存在一个\(n>0\)满足\(Q(n)\)」翻译成\(\exists nG(n)\)
分别讨论\(n>0,n\leq 0\)
故\(G(n)=n>0\land Q(n)\)符合条件
前束范式要不要化简
求前束范式时需要化成只有一个变元\(x\)这样吗?化成如下有变元\(x,y\)的形式可以吗?
这里两者都是可以的,但是化成第二种形式更简单更保险。比如下面这种情况就不能化成一个\(x\)的形式
找等价关系的反例
问题:\(P\)和\(\neg P\)不是必须满足一个吗?
答:对同一个\(x\)而言,\(P(x)\)和\(\neg P(x)\)确实必须满足一个,但加上\(\forall\)之后就不一定了。
只要\(P(x)\)既不是永真式也不是永假式,\(\forall xP(x)\)和\(\forall x\neg P(x)\)就都为假
证明一致性定理
若\(\Gamma\models Q\)则\(\Gamma_1\models Q\),其中\(\Gamma_1\)是\(\Gamma\)的有穷子集
为什么不可以给每个不满足\(Q\)的指派\(\sigma\)或模型\(M\),都挑一个\(\Gamma\)中同样不被\(\sigma/M\)满足的公式\(P\),组成\(\Gamma_1\)呢?
答:在命题逻辑里确实可以这样做,但在谓词逻辑里,不满足\(Q\)的模型很可能无穷多
谓词逻辑公理系统的前提里面可不可以有自由变元
在\(\Gamma\vdash Q\)中,\(\Gamma\)里的公式能不能有自由变元?
可以。演绎定理里面的前提不能有,但一般的谓词逻辑证明是可以的
\(\not\models Q\)是啥意思
\(\not\models\)这个符号表示推论关系不成立。
特别的,\(\not\models Q\)表示\(Q\)不能从空集直接推出,即\(Q\)不是永真式
相对应的,\(\models Q\)表示\(Q\)是永真式
写一个语句A,使得A有模型且任何A的模型的论域里至少有3个元素
没看懂
-
你要写一个语句A,就是没有自由变元的谓词逻辑合式公式
-
A有模型,即A可满足
-
任何A的模型的论域里至少有3个元素:
- 如果论域里不够3个元素,那么A在这个模型下的真值(语义)必定为假
错误样例:
令\(D=\{1\}, P^M(1)=1\),那么\(A\)在这个模型下就是真的呀
参考答案
为啥是对的?\(P(x),\neg P(x)\)不可能同时成立,所以\(y\neq x\)。
同理\(z\neq x,z\neq y\)
考试的时候如果要自己证一个定理,步骤怎么写
先证定理再做题。
类似写C程序,先定义函数后写main()。
证定理1的时候发现要先证定理2,证定理2发现要先证定理3怎么办?
凉拌,出题老师不会故意给一个很绕的证明路线让你想不到的。
真出现套娃情况说明你路子有点歪。
「抛开事实不谈,xxx难道就不是xx吗?」
这句话好像确实表达了一个判断,那它是不是命题呢?
不是。命题必须是陈述句。
函词的值是个体,谓词的值是逻辑真值,啥意思?
函词\(f(x_1,x_2,\cdots)\)表示一个论域上的待定函数,所以值是论域中的个体
谓词\(P(x,y,\cdots)\)表示一个关于变元\(x,y,\cdots\)的逻辑判断,所以值是逻辑真值
什么是代入实例,什么是代入,谁有代入
\([x/t]\)是代入实例,它表示把\(x\)换成\(t\)。至于到底能不能干这件事,那要看\(Q[x/t]\)中,前面的公式\(Q\)对\(x\)是否可代入。
\(Q[x/t]\)就是\(Q\)的一个代入,当然,\(x\)必须是\(Q\)的自由变元,即\(x\)对\(Q\)可代入。
显然,如果一个公式没有自由变元,那它就没有代入。所以闭公式,或者语句,就没有代入。
0,1作为个体对象和作为逻辑真值、逻辑符号有啥区别
作为个体对象:如果论域\(D=\{0,1,2,\cdots\}\),那么\(D\)里的\(0,1\)就是个体对象
作为逻辑真值:如果\(P^\sigma(2)=0, Q^\sigma(3)=1\),那么这里的\(0,1\)就是逻辑真值
作为逻辑符号:\(Q\Leftrightarrow Q\lor 0 \Leftrightarrow Q\land 1\),这里面\(0,1\)就是逻辑符号
1个简单析取式的合取是啥意思
- 它自己是简单析取式
- 它是它自己的合取
所以它是一个合取范式
n元联结词有几个
等价于问\(n\)元联结词的真值表有几种
-
首先\(n\)元联结词的真值表显然有\(2^n\)行
-
每行可以填\(0/1\),每行之间独立
-
这等价于问\(2^n\)位的二进制数有几个
所以总共有\(2^{2^n}\)种真值表,自然有这么多个n元联结词
n元联结词长啥样
就是一个5元联结词,其中\(ABCDE\)都是逻辑公式。
它的作用是:送进去「5个」逻辑值,吐出来「一个」逻辑值
归结法是啥,咱讲过吗?
没讲过,不考
证明\(P\Leftrightarrow Q\)要讨论点啥?
方案1
- \(\sigma(P) = 1\)则\(\sigma(Q)=1\)
- \(\sigma(Q) = 1\)则\(\sigma(P)=1\)
方案2
- \(\sigma(P) = 1\)则\(\sigma(Q)=1\)
- \(\sigma(P) = 0\)则\(\sigma(Q)=0\)
证明题会不会出现答案用了但题面没给的定理?
不可能!绝对不可能!
一阶谓词逻辑语言到底由啥组成?
通常,一阶谓词逻辑语言有多种定义形式。
——马殿富等人《离散数学及其应用》北京:高等教育出版社,2021.12
一般而言,只要一个说法中提到联结词、谓词、量词,基本可认为该说法正确。
此外,「谓词逻辑公理系统中」的一阶谓词逻辑语言没有函词,联结词和量词也只有\(\neg,\rightarrow, \forall\)
怎么判断谓词逻辑公式是不是重言式?
令\(P=\forall x R(x), Q=\exists x Q(x)\),则可将原式转化为
转化后的命题逻辑公式是永真式,因此原式是重言式
项特别多的公式要怎么化简
就,消消乐呗
想办法把长得像的东西凑到一起,然后看能不能消掉
不然还能怎么办嘛!
证明一个推理时\(\vdash\)和\(\rightarrow\)有啥区别
-
\(\vdash\)是公理系统里的推演符号,当公理系统有可靠性和完全性时,它可以跟「语义推出关系\(\models\)」相互转化
-
\(\rightarrow\)是一个逻辑联结词,只能出现在逻辑公式里。如果一个推理以\(p\rightarrow q\)的形式表达,那么证明该推理时需要讨论:对于任意的指派\(\sigma\)或任意模型\(M\),整个公式均为真
-
\(\models\)是语义推出关系。它的定义是说,若\(\sigma(\Gamma)=1\)时必有\(\sigma(Q)=1\),则称\(\Gamma\models Q\)。因此在证明形如\(\Gamma\models Q\)的推理时,只需枚举满足\(\Gamma\)的指派或模型
-
\(\vdash\)出现在公理系统中。若要证明\(\Gamma\vdash Q\),则一般(
题里没说能用其他方法时)只能通过构造所处公理系统中的证明来做到
这个证明不用演绎定理怎么做
感谢yjh供题+打字
用公理系统证明
Proof
我找到的往年题是真的吗?有参考价值吗?
省流:不是,没有
是真题吗?
我们考察的题目包括「选择、判断、填空、简答(计算)、证明」。你找到的卷子上是这几样吗?
有参考价值吗?
它都不是真的,你说有没有参考价值?建议大家做好心理准备,往年有不少同学刷完“往年题”后感到那种「勃勃生机,万物竞发」的景象犹在眼前,作出了优势在我的错误判断,导致考试折戟。希望大家不要重蹈覆辙。
\(\forall x P(x)\)的语义到底啥意思?我该怎么算?
1
假设你的论域是\(D=\{a,b,c,d,\cdots\}\)
-
那么\(\forall xP(x)\)表示\(P(a)\land P(b)\land P(c)\land \cdots\),
-
\(\exists xP(x)\)表示\(P(a)\lor P(b)\lor P(c)\lor \cdots\)
2
加大难度,\(\forall x\exists y P(x, y)\)啥意思?
-
一层一层往里拆,注意到\(\forall x\)的辖域管着\(\exists y P(x,y)\),我们想到可以把\(\exists y P(x,y)\)看成一个关于\(x\)的特殊谓词\(Q(x)=\exists y P(x,y)\),因为它的真值显然只跟\(x\)的取值有关
-
我们套用之前的做法,\(\forall x\exists y P(x, y)\)表示
\[Q(a)\land Q(b)\land Q(c)\land \cdots \Leftrightarrow\\ \exists y P(a,y)\land \exists y P(b,y) \land \exists y P(c,y) \cdots \] -
然后我们把\(\exists yP(\cdot, y)\)打开
\[(P(a,a)\lor P(a,b)\lor P(a,c)\lor \cdots) \land\\ (P(b,a)\lor P(b,b)\lor P(b,c)\lor \cdots) \land\\ (P(c,a)\lor P(c,b)\lor P(c,c)\lor \cdots) \land\\ \cdots \]
3
无奖答题:\(\forall xP(x)\rightarrow \forall Q(x)\)怎么办?
-
显然,\(\forall xP(x), \forall Q(x)\)是两个语句(闭公式),它们的真值可以按照1中给出的做法分别计算
-
比如说,你算出来\(\forall xP(x)\)的真值是\(X\),算出来\(\forall yQ(x)\)的真值是\(Y\),那么原式就可以换成\(X\rightarrow Y\)。
-
这时再算\(X\rightarrow Y\)就好了。
-
为啥这东西跟2里面不一样呢?因为辖域不一样。量词管着谁你就展开谁代入谁
前束范式的量词怎么摆,斯科伦范式中\(\exists\)量词对应函词怎么换?
前束范式的量词通常有多种摆法。只要遵守如下规则就都是正确的
-
保持量词辖域的从属关系
-
具体来说,比如\(\exists x\forall y P(x,y)\lor \exists zQ(z)\)这个公式,我们知道\(\exists x\)管着\(\forall y\),但这俩跟\(\exists z\)没有半毛钱关系。因此\(\exists z\exists x\forall y, \exists x\exists z\forall y, \exists x\forall y\exists z\)都是正确的,只要保证\(\exists x\)在\(\forall y\)左边即可。
斯科伦范式的函词怎么换?
-
完全取决于前束范式的量词怎么摆
-
\(\exists\)量词左边没有\(\forall\)量词,换成常元,
-
有一个\(\forall x\),换成\(f(x)\)
-
有\(\forall x\forall y\),换成\(f(x,y)\)
-
以此类推
谓词逻辑的语义证明应该怎么想?
-
首先,你把论域指定成自然数集\(\mathbb N\)
-
然后,你把常元\(c\)和变元\(x,y\)都看成\(\mathbb N\)上的点
-
最后,你把谓词看成\(\mathbb N^m \mapsto \{0,1\}\)的函数,其中\(m\)表示这个谓词是\(m\)元谓词
-
到这里,你就把谓词逻辑转化成了函数构造问题:造出一个\(\mathbb N^m \mapsto \{0,1\}\)的函数,使得这个函数满足题意(或者你的需要)
例如,证明
被转化成:证明存在\(\mathbb N\)上的函数\(P(x)\)满足
-
存在一个点\(x\)使得\(P(x)=1\),对应\(I(P(x))(v)=1\)或\(\sigma(P(x))=1\).
-
\(P(x)\)不总是\(1\),对应\(I(\forall xP(x))=0\)或\(\sigma(\forall xP(x))=0\).