期末总结:面向计算机科学的数理逻辑:系统建模与推理

面向计算机科学的数理逻辑:系统建模与推理

Chapter 1 命题逻辑

——逻辑符号

——证明规则

——作为形式语言的命题逻辑

——命题逻辑的语义

——范式

Chapter 2 谓词逻辑

——作为形式语言的谓词逻辑

——谓词逻辑的证明论

————自然演绎规则

——谓词逻辑的语义

——谓词逻辑的不可判定性

——谓词逻辑的表达能力

Chapter 3 通过模型检测进行验证

——模型检测

——线性时态逻辑

Chapter 1 命题逻辑

逻辑符号

符号含义举例
¬¬p
析取(逻辑或)p∨q
合取(逻辑与)p∧q
蕴含(推出)p→q

证明规则

通过将证明规则(proof rules)应用于前提(premises)公式,推断(infer)出结论(conclusion)

ϕ1,ϕ2,…,ϕn⊢ψ 称为矢列(sequent),如果可以找到矢列的证明,矢列称为有效的。若逻辑公式 ϕ \phi ϕ具有有效的矢列,称为定理

一共15个演绎规则,其中11个基本规则,4个派生规则,横线上是前提横线下是结论横线右边是记号

合取规则:引入规则∧i,消去规则∧ e 1 e_1 e1, ∧ e 2 e_2 e2
ϕ ψ ϕ ∧ ψ ∧ i , ϕ ∧ ψ ϕ ∧ e 1 , ϕ ∧ ψ ψ ∧ e 2 \frac{\phi\quad\psi}{\phi\land\psi}\land i,\quad\frac{\phi\land\psi}{\phi}\land e_1,\quad\frac{\phi\land\psi}{\psi}\land e_2 ϕψϕψi,ϕϕψe1,ψϕψe2
双重否定规则: 引入规则(派生) ¬ ¬ i \neg\neg i ¬¬i,消去规则 ¬ ¬ e \neg\neg e ¬¬e
ϕ ¬ ¬ ϕ ¬ ¬ i , ¬ ¬ ϕ ϕ ¬ ¬ e \frac{\phi}{\neg\neg\phi}\neg\neg i, \quad\frac{\neg\neg\phi}{\phi}\neg\neg e ¬¬ϕϕ¬¬i,ϕ¬¬ϕ¬¬e
蕴含消去规则(分离规则) → e \rightarrow e e
ϕ ϕ → ψ ψ → e \frac{\phi \quad \phi \to \psi}{\psi}\to e ψϕϕψe
反证规则(派生) M T MT MT
ϕ → ψ ¬ ψ ¬ ϕ MT \frac{\phi \to \psi \quad \neg\psi}{\neg\phi}\text{MT} ¬ϕϕψ¬ψMT
蕴含引入规则 $\rightarrow i $
[ ϕ ⋮ ψ ] ψ → i \frac{\left[\begin{matrix}\phi \\ \vdots \\ \psi\end{matrix}\right]}{\psi}\to i ψ ϕψ i
tips:这是为了证明 ϕ → ψ \phi \rightarrow \psi ϕψ,而临时假设了 ϕ \phi ϕ,然后再证明 ψ \psi ψ,在证明 ψ \psi ψ的过程中,可以用 ϕ \phi ϕ以及其他所有的公式,一般来说,只有在公式 ϕ \phi ϕ先于该位置出现,而且出现 ϕ \phi ϕ的矩形框都没有关闭的情况下,才可以使用 ϕ \phi ϕ。紧跟在关闭的矩形框后面的行必须与使用该矩形框的规则所得到的结论模式相匹配,即如果一个矩形框的第一个公式是 ϕ \phi ϕ,最后一个公式是 ψ \psi ψ,那么紧跟在这个矩形框后面的行必须是 ϕ → ψ \phi \rightarrow \psi ϕψ

一个例子:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TjdR2Mo6-1690184953160)(C:\Users\12921\AppData\Roaming\Typora\typora-user-images\image-20230608155418305.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MHDlllGt-1690184953162)(C:\Users\12921\AppData\Roaming\Typora\typora-user-images\image-20230608155519589.png)]

析取规则 引入规则 ∨ i 1 , ∨ i 2 \lor i_1, \lor i_2 i1,i2,消去规则 ∨ e \lor e e
ϕ ϕ ∨ ψ ∨ i 1 , ψ ϕ ∨ ψ ∨ i 2 , ϕ ∨ ψ [ ϕ ⋮ χ ] [ ψ ⋮ χ ] χ ∨ e \frac{\phi}{\phi \lor \psi}\lor i_1,\quad \frac{\psi}{\phi \lor \psi}\lor i_2, \quad \frac{\phi \lor \psi\quad\left[\begin{matrix}\phi \\ \vdots \\ \chi\end{matrix}\right]\quad\left[\begin{matrix}\psi \\ \vdots \\ \chi\end{matrix}\right]}{\chi}\lor e ϕψϕi1,ϕψψi2,χϕψ ϕχ ψχ e
矛盾规则 → e \rightarrow e e

矛盾 ⊥ \bot 是形如 ϕ ∧ ¬ ϕ \phi \land \neg \phi ϕ¬ϕ或者 ¬ ϕ ∧ ϕ \neg \phi \land \phi ¬ϕϕ的表达式,矛盾可以推导出任何公式:

假设有前提p是 jf 有一个亿, q是jf会飞,那么p或q就肯定是真,但是非p 也就是jf没有一个亿为真 ,这时候p就是假,如果q也是假的话,那p或q就是假的,跟之前所说的有矛盾,因此q一定是真的,也就是说jf一定会飞
⊥ ϕ ⊥ e ϕ ¬ ϕ ⊥ ¬ e [ ϕ ⋮ ⊥ ] ¬ ϕ ¬ i \frac{\bot}{\phi} \bot e \quad \frac{\phi \quad \neg \phi}{\bot} \neg e \quad \frac{\left[\begin{matrix}\phi \\ \vdots \\ \bot\end{matrix}\right]}{\neg \phi} \neg i ϕeϕ¬ϕ¬e¬ϕ ϕ ¬i
反证法(派生) P B C PBC PBC
[ ¬ ϕ ⋮ ⊥ ] ϕ PBC \frac{\left[\begin{matrix}\neg\phi \\ \vdots \\ \bot\end{matrix}\right]}{\phi}\text{PBC} ϕ ¬ϕ PBC

排中律(派生) L E M LEM LEM
ϕ ∨ ¬ ϕ LEM \frac{}{\phi\lor\neg\phi} \text{LEM} ϕ¬ϕLEM
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C0jjP4UT-1690184953163)(C:\Users\12921\AppData\Roaming\Typora\typora-user-images\image-20230608160722476.png)]

以下六个式子逻辑等价:
¬ ( p ∧ q )   ⊣ ⊢   ¬ q ∨ ¬ p ¬ ( p ∨ q )   ⊣ ⊢   ¬ q ∧ ¬ p p → q   ⊣ ⊢   ¬ q → ¬ p p → q   ⊣ ⊢   ¬ p ∨ q p ∧ q → p   ⊣ ⊢   r ∨ ¬ r p ∧ q → r   ⊣ ⊢   p → ( q → r ) \neg (p \land q) \ \dashv \vdash \ \neg q \lor \neg p \qquad \neg (p \lor q) \ \dashv \vdash \ \neg q \land \neg p \\ p \to q \ \dashv \vdash \ \neg q \to \neg p \qquad p \to q \ \dashv \vdash \ \neg p \lor q \\ p \land q \to p \ \dashv \vdash \ r \lor \neg r \qquad p \land q \to r \ \dashv \vdash \ p \to (q \to r) ¬(pq) ⊣⊢ ¬q¬p¬(pq) ⊣⊢ ¬q¬ppq ⊣⊢ ¬q¬ppq ⊣⊢ ¬pqpqp ⊣⊢ r¬rpqr ⊣⊢ p(qr)

作为形式语言的命题逻辑

合式公式(Backus Naur范式,BNF)其中p代表任意原子命题
ϕ : : = p   ∣   ( ¬ ϕ )   ∣   ( ϕ ∧ ϕ )   ∣   ( ϕ ∨ ϕ )   ∣   ( ϕ → ϕ ) \phi ::= p \ | \ (\neg \phi) \ | \ (\phi \land \phi) \ | \ (\phi \lor \phi) \ | \ (\phi \rightarrow \phi) ϕ::=p  (¬ϕ)  (ϕϕ)  (ϕϕ)  (ϕϕ)
可以用语法分析书表示和判定合成公式。最终叶子节点都是原子命题的树。

命题逻辑的语义

定义:公式 ϕ \phi ϕ的一个赋值(valuation)或模型(model)是对 ϕ \phi ϕ中的每个命题原子指派一个真值。两个公式的真值表相同,称为语义等价(semantically equivalent)。

数学归纳法

1.用n=初始值开始证明

2.假设n=k时依然成立,当n=k+1时,带入并证明式子成立。

范式

语义等价:对与命题逻辑公式 ϕ , ψ \phi,\psi ϕ,ψ,说他们语义等价,当且仅当 ϕ ⊨ ψ \phi \vDash \psi ϕψ ψ ⊨ ϕ \psi \vDash \phi ψϕ成立。记为 ϕ ≡ ψ \phi \equiv \psi ϕψ。进一步,如果 ⊨ ϕ \vDash \phi ϕ成立,称 ϕ \phi ϕ是有效的。也可以定义 ϕ ≡ ψ \phi \equiv \psi ϕψ ⊨ ( ϕ → ψ ) ∧ ( ψ → ϕ ) \vDash (\phi \to \psi) \land (\psi \to \phi) (ϕψ)(ψϕ)

由于合理性和完备性,语义等价和逻辑等价是一致的。

由于语义等价,我们希望把公式化成一种特定的形式,称作范式,在这种形式下有效性检查很容易。

Chapter 2 谓词逻辑

作为形式语言的谓词逻辑

谓词逻辑(predicate logic)也称一阶逻辑(first-order logic),可以处理命题内部的逻辑结构,以及包含全称量词和存在量词的逻辑关系。
变量是实际值的一个占位符(place holder)

谓词词汇由两个集合组成:谓词符号集 P \mathcal{P} P,函数符号集 F \mathcal{F} F,常值看作零元函数nullary。
(terms):表示对象。定义:

·任何变量都是项。
·若 c ∈ F c \in \mathcal{F} cF是零元函数,则c是项。
·若 t 1 , t 2 , … , t n t_1,t_2,\dots,t_n t1,t2,,tn是项,且 f ∈ F f\in\mathcal{F} fF的元 n > 0 n>0 n>0,则 f ( t 1 , t 2 , … , t n ) f(t_1,t_2,\dots,t_n) f(t1,t2,,tn)是项。
·没有其他类型的项。
BN范式: t : : = x   ∣   c   ∣   f ( t 1 , t 2 , … , t n ) t::=x \ | \ c \ | \ f(t_1,t_2,\dots,t_n) t::=x  c  f(t1,t2,,tn),其中 x x x取遍变量集合 v a r var var c c c取遍 F \mathcal{F} F中的零元函数符号, f f f取遍 F \mathcal{F} F中的 n > 0 n>0 n>0的符号。

公式:表示真值。在 ( F , P ) (\mathcal{F}, \mathcal{P}) (F,P)定义:

·若 P ∈ P P\in\mathcal{P} PP n ≥ 1 n\ge 1 n1元的谓词符号, t 1 , t 2 , … , t n t_1,t_2,\dots,t_n t1,t2,,tn F \mathcal{F} F上的项,则 P ( t 1 , t 2 , … , t n ) P(t_1,t_2,\dots,t_n) P(t1,t2,,tn)是公式。
·若 ϕ , ψ \phi, \psi ϕ,ψ是公式,则 ( ¬ ϕ ) , ( ϕ ∧ ψ ) , ( ϕ ∨ ψ ) , ( ϕ → ψ ) (\neg \phi), (\phi \land \psi), (\phi\lor\psi), (\phi\to\psi) (¬ϕ),(ϕψ),(ϕψ),(ϕψ)也是公式。
·若 ϕ \phi ϕ是公式, x x x是变量,则 ( ∀ x ϕ ) , ( ∃ x ϕ ) (\forall x \phi), (\exists x \phi) (xϕ),(xϕ)也是公式。
·没有其他形式的公式。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TaUZdVPt-1690184953164)(C:\Users\12921\AppData\Roaming\Typora\typora-user-images\image-20230608164034063.png)]

自由变量和约束变量 设 ϕ \phi ϕ是谓词逻辑中的公式。称 x x x ϕ \phi ϕ中的一次出现是自由的,如果 x x x ϕ \phi ϕ的语法分析树中的一个叶结点,而且不存在从结点 x x x ∀ x \forall x x ∃ x \exists x x的向上路径。否则,称 x x x的出现是约束的。对 ∀ x \forall x x ∃ x \exists x x,我们称除去 ϕ \phi ϕ的任何形如 ∀ x \forall x x ∃ x \exists x x的子公式的 ϕ \phi ϕ分别是 ∀ x \forall x x ∃ x \exists x x的作用范围。

变量代换 给定变量 x x x、项 t t t、和公式 ϕ \phi ϕ,定义 ϕ [ t / x ] \phi[t/x] ϕ[t/x]为用 t t t代替 ϕ \phi ϕ中变量 x x x的每个自由出现而得到的公式。

给定变量 x x x、项 t t t、和公式 ϕ \phi ϕ,说 t t t关于 ϕ \phi ϕ中的 x x x是自由的,如果对出现在 t t t中的任何变量 y y y ϕ \phi ϕ中没有自由的叶结点 x x x处于 ∀ y \forall y y ∃ y \exists y y的作用范围之内。

谓词逻辑的证明论

自然演绎规则

约定: ϕ [ t / x ] \phi[t/x] ϕ[t/x]总假定 t t t ϕ \phi ϕ x x x是自由的。
在命题逻辑自然演绎基础上加上:

相等的证明规则
t = t = i , t 1 = t 2 ϕ [ t 1 / x ] ϕ [ t 2 / x ] = e \frac{}{t=t}=i, \qquad \frac{t_1=t_2 \quad \phi[t_1/x]}{\phi[t_2/x]}=e t=t=i,ϕ[t2/x]t1=t2ϕ[t1/x]=e
全称量词的证明规则
[ x 0 ⋮ ϕ [ x 0 / x ] ] ∀ x ϕ ∀ x i , ∀ x ϕ ϕ [ t / x ] ∀ x e \frac{\left[ \begin{array}{c} x_0 \\ \vdots\\\phi[x_0/x] \end{array}\right]}{\forall x\phi}\forall xi, \qquad \frac{\forall x\phi}{\phi[t/x]}\forall xe xϕ x0ϕ[x0/x] xi,ϕ[t/x]xϕxe
存在量词的证明规则
ϕ [ t / x ] ∃ x ϕ ∃ x i , ∃ x ϕ   [ x 0 ϕ [ x 0 / x ] ⋮ χ ] χ ∃ x e \frac{\phi[t/x]}{\exists x\phi}\exists xi, \qquad \frac{\exists x\phi \ \left[ \begin{array}{c} x_0 \phi[x_0/x] \\ \vdots\\ \chi \end{array}\right]}{\chi}\exists xe xϕϕ[t/x]xi,χxϕ  x0ϕ[x0/x]χ xe
量词等价(假设 x x x ψ \psi ψ中是不自由的):
¬ ∀ x ϕ ⊣ ⊢ ∃ x ¬ ϕ ¬ ∃ x ϕ ⊣ ⊢ ∀ x ¬ ϕ ∀ x ϕ ∧ ψ ⊣ ⊢ ∀ x ( ϕ ∧ ψ ) ∀ x ϕ ∨ ψ ⊣ ⊢ ∀ x ( ϕ ∨ ψ ) ∃ x ϕ ∧ ψ ⊣ ⊢ ∃ x ( ϕ ∧ ψ ) ∃ x ϕ ∨ ψ ⊣ ⊢ ∃ x ( ϕ ∨ ψ ) ∀ x ( ψ → ϕ ) ⊣ ⊢ ψ → ∀ x ϕ ∃ x ( ψ → ϕ ) ⊣ ⊢ ψ → ∃ x ϕ ∃ x ( ϕ → ψ ) ⊣ ⊢ ∀ x ϕ → ψ ∀ x ( ϕ → ψ ) ⊣ ⊢ ∃ x ϕ → ψ ∀ x ϕ ∧ ∀ x ψ ⊣ ⊢ ∀ x ( ϕ ∧ ψ ) ∃ x ϕ ∨ ∀ x ψ ⊣ ⊢ ∃ x ( ϕ ∨ ψ ) ∀ x ∀ y ϕ ⊣ ⊢ ∀ y ∀ x ϕ ∃ x ∃ y ϕ ⊣ ⊢ ∃ y ∃ x ϕ \neg\forall x\phi\dashv\vdash\exists x\neg\phi\qquad\neg\exists x\phi\dashv\vdash\forall x\neg\phi \\\forall x\phi\land\psi\dashv\vdash\forall x(\phi\land\psi)\qquad\forall x\phi\lor\psi\dashv\vdash\forall x(\phi\lor\psi) \\\exists x\phi\land\psi\dashv\vdash\exists x(\phi\land\psi)\qquad\exists x\phi\lor\psi\dashv\vdash\exists x(\phi\lor\psi) \\\forall x (\psi\to\phi)\dashv\vdash\psi\to\forall x\phi\qquad\exists x (\psi\to\phi)\dashv\vdash\psi\to\exists x\phi \\\exists x (\phi\to\psi)\dashv\vdash\forall x\phi\to\psi\qquad\forall x (\phi\to\psi)\dashv\vdash\exists x\phi\to\psi \\\forall x \phi\land\forall x\psi\dashv\vdash\forall x(\phi\land\psi)\qquad\exists x \phi\lor\forall x\psi\dashv\vdash\exists x(\phi\lor\psi) \\\forall x\forall y\phi\dashv\vdash\forall y\forall x\phi\qquad\exists x\exists y\phi\dashv\vdash\exists y\exists x\phi ¬∀xϕ⊣⊢x¬ϕ¬∃xϕ⊣⊢x¬ϕxϕψ⊣⊢x(ϕψ)xϕψ⊣⊢x(ϕψ)xϕψ⊣⊢x(ϕψ)xϕψ⊣⊢x(ϕψ)x(ψϕ)⊣⊢ψxϕx(ψϕ)⊣⊢ψxϕx(ϕψ)⊣⊢xϕψx(ϕψ)⊣⊢xϕψxϕxψ⊣⊢x(ϕψ)xϕxψ⊣⊢x(ϕψ)xyϕ⊣⊢yxϕxyϕ⊣⊢yxϕ

谓词逻辑的语义

模型 假设 F \mathcal{F} F是函数符号的集合, P \mathcal{P} P是谓词符号的集合,每个符号所需要的变量个数是固定的。符号对 ( F , P ) (\mathcal{F}, \mathcal{P}) (F,P)的一个模型 M \mathcal{M} M由下面的数据集合组成∶

1.非空集 A A A是具体值的全集;

2.对每个零元函数 f ∈ F f\in \mathcal{F} fF,A 中的一个具体元素 f M f^\mathcal{M} fM

3.对每个元数为 n > 0 n>0 n>0 f ∈ F f\in \mathcal{F} fF,从集合 A A A n n n元集合 A n A^n An A A A的具体函数 f M : A n → A f^\mathcal{M}:A^n\to A fM:AnA

4.对每个 n > 0 n>0 n>0元谓词 P ∈ P P\in \mathcal{P} PP A A A n n n元子集 P M ⊆ A n P^\mathcal{M}\subseteq A^n PMAn

环境 从变量集var到相关模型中值的论域集合 A A A的函数 l : v a r → A l:\mathbf{var}\to A l:varA。对这样的 l l l,用 l [ x ↦ a ] l[x\mapsto a] l[xa]表示将 x x x映到 a a a并且将其他变量 y y y映到 l ( y ) l(y) l(y)的查询表。

给定关于对 ( F , P ) (\mathcal{F}, \mathcal{P}) (F,P)的模型 M \mathcal{M} M和环境 l l l,对于 ( F , P ) (\mathcal{F}, \mathcal{P}) (F,P)上每个逻辑公式 ϕ \phi ϕ,通过对 ϕ \phi ϕ的结构归纳定义一个满足关系 M ⊨ l ϕ \mathcal{M}\models_l\phi Mlϕ。若 M ⊨ l ϕ \mathcal{M}\models_l\phi Mlϕ成立,则称在模型 M \mathcal{M} M中,相对于环境 l l l ϕ \phi ϕ的赋值为T。

P∶如果 ϕ \phi ϕ的形式为 P ( t 1 , t 2 , … , t n ) P(t_1, t_2,\dots,t_n) P(t1,t2,,tn),则在集合 A A A中将 t 1 , t 2 , … , t n t_1, t_2,\dots,t_n t1,t2,,tn解释为:把所有变量根据 l l l的值代替。用这种方式,对每项(通过 f ∈ F f\in \mathcal{F} fF)计算 a 1 , a 2 , … , a n a_1, a_2, \dots, a_n a1,a2,,an的值,其中任何函数符号 f ∈ F f\in \mathcal{F} fF通过 f M f^\mathcal{M} fM 来0+解释。现在 M ⊨ l P ( t 1 , t 2 , … , t n ) \mathcal{M}\models_l P(t_1, t_2,\dots,t_n) MlP(t1,t2,,tn)成立当且仅当 ( a 1 , a 2 , … , a n ) ∈ P M (a_1, a_2, \dots, a_n)\in P^\mathcal{M} (a1,a2,,an)PM
∀ x \forall x x∶ 关系 M ⊨ l ∀ x ψ \mathcal{M}\models_l \forall x\psi Mlxψ成立当且仅当 M ⊨ l [ x ↦ a ] ψ \mathcal{M}\models_{l[x\mapsto a]}\psi Ml[xa]ψ对所有 a ∈ A a\in A aA都成立。
∃ x \exists x x∶ 对偶地, M ⊨ l ∃ x ψ \mathcal{M}\models_l \exists x\psi Mlxψ成立当且仅当 M ⊨ l [ x ↦ a ] ψ \mathcal{M}\models_{l[x\mapsto a]}\psi Ml[xa]ψ对某个 a ∈ A a\in A aA成立。
¬ \neg ¬∶ 关系 M ⊨ l ¬ ψ \mathcal{M}\models_l \neg\psi Ml¬ψ成立当且仅当 M ⊨ l ψ \mathcal{M}\models_l\psi Mlψ不成立。
∨ \lor ∶ 关系 M ⊨ l ψ 1 ∨ ψ 2 \mathcal{M}\models_l \psi_1\lor \psi_2 Mlψ1ψ2成立当且仅当 M ⊨ l ψ 1 \mathcal{M}\models_l\psi_1 Mlψ1成立或 M ⊨ l ψ 2 \mathcal{M}\models_l\psi_2 Mlψ2成立。
∧ \land ∶关系 M ⊨ l ψ 1 ∧ ψ 2 \mathcal{M}\models_l \psi_1\land \psi_2 Mlψ1ψ2成立当且仅当 M ⊨ l ψ 1 \mathcal{M}\models_l\psi_1 Mlψ1 M ⊨ l ψ 2 \mathcal{M}\models_l\psi_2 Mlψ2都成立。
→ \to ∶ 关系 M ⊨ l ψ 1 → ψ 2 \mathcal{M}\models_l \psi_1\to\psi_2 Mlψ1ψ2成立当且仅当只要 M ⊨ l ψ 1 \mathcal{M}\models_l\psi_1 Mlψ1成立,则 M ⊨ l ψ 2 \mathcal{M}\models_l\psi_2 Mlψ2成立。

语义推导

Γ \Gamma Γ是谓词逻辑中的公式集合(可能是无限集合), ψ \psi ψ是谓词逻辑公式。

语义推导 Γ ⊨ ψ \Gamma\vDash\psi Γψ成立当且仅当对所有的模型 M \mathcal{M} M和查询表 l l l,对所有的 ϕ ∈ Γ \phi\in\Gamma ϕΓ M ⊨ l ϕ \mathcal{M}\models_l \phi Mlϕ都成立,则 M ⊨ l ψ \mathcal{M}\models_l \psi Mlψ也成立。
公式 ψ \psi ψ是可满足的当且仅当存在某个模型 M \mathcal{M} M和环境 l l l,使得 M ⊨ l ψ \mathcal{M}\models_l \psi Mlψ成立。
公式 ψ \psi ψ是有效的当且仅当在我们能够检测 ψ \psi ψ的所有模型 M \mathcal{M} M和环境 l l l中, M ⊨ l ψ \mathcal{M}\models_l \psi Mlψ成立。
集合 Γ \Gamma Γ是一致的或可满足的当且仅当存在一个模型 M \mathcal{M} M和一个环境 l l l,使得对所有的公式 ϕ ∈ Γ \phi\in\Gamma ϕΓ M ⊨ l ψ \mathcal{M}\models_l \psi Mlψ成立。

谓词逻辑的不可判定性

方法:问题归约法。选择另一个不可解问题,用当前问题的可解性推出被选择问题的可解性。
引理:波斯特对应问题不可解。波斯特对应问题:已知有限序列对 ( s 1 , t 1 ) , ( s 2 , t 2 ) , … , ( s k , t k ) (s_1,t_1), (s_2, t_2), \dots, (s_k, t_k) (s1,t1),(s2,t2),,(sk,tk),其中所有的 s i , t i s_i, t_i si,ti 都是正长度的二进制字符串。是否存在下标序列 i 1 , i 2 , … , i n ( n ≥ 1 ) i_1, i_2, \dots, i_n(n\ge1) i1,i2,,in(n1),使得字符串的串联 s i 1 s i 2 … s i m s_{i1}s_{i2}\dots s_{im} si1si2sim等于 t i 1 t i 2 … t i m t_{i1}t_{i2}\dots t_{im} ti1ti2tim?

原定理证明:

假设谓词逻辑有效性可判定。求解波斯特对应问题。已知对应问题的实例 C C C s 1 s 2 … s k , t 1 t 2 … t k s_{1}s_{2}\dots s_{k}, t_{1}t_{2}\dots t_{k} s1s2sk,t1t2tk。需要在有限的时空里构建对所有实例都一致的谓词逻辑公式 ϕ \phi ϕ,使得 ⊨ ϕ \vDash \phi ϕ成立,当且仅当波斯特对应问题 C C C有一个解。
构造公式(这里是整个证明的核心,公式不好理解的话在必要性那里有解释):
选择一个常量 e e e,以及两个需要一个自变量的函数符号 f 0 f_0 f0 f 1 f_1 f1。把 e e e视为空位符串或空字, f 0 f_0 f0 f 1 f_1 f1分别代表与0和1拼接。若 b 1 b 2 … b l b_1b_2\dots b_l b1b2bl是二进制位的字符串,将它编码为项 f b l ( f b l − 1 … ( f b 2 ( f b 1 ( e ) ) ) …   ) f_{b_l}(f_{b_{l-1}}\dots(f_{b_2}(f_{b_1}(e)))\dots) fbl(fbl1(fb2(fb1(e)))),简记为 f b 1 b 2 … b l ( e ) f_{b_1b_2\dots b_l}(e) fb1b2bl(e)
谓词符号 P ( v , w ) P(v, w) P(v,w)表示存在某个下标序列 ( i 1 , i 2 , … , i m ) (i_1, i_2, \dots, i_m) (i1,i2,,im),使得 v v v是由 s i 1 s i 2 … s i m s_{i_1}s_{i_2}\dots s_{i_m} si1si2sim表示的项, w w w是由 t i 1 t i 2 … t i m t_{i_1}t_{i_2}\dots t_{i_m} ti1ti2tim表示的项。 v v v w w w使用同样的下标序列构造出一个串;只是 v v v使用 s i s_i si w w w使用 t i t_i ti
语句 ϕ \phi ϕ有结构: ϕ 1 ∧ ϕ 2 → ϕ 3 \phi_1\land\phi_2\to\phi_3 ϕ1ϕ2ϕ3,其中,设
ϕ 1 = def ⋀ i = 1 k P ( f s i ( e ) , f t i ( e ) ) ϕ 2 = def ∀ v ∀ w ( P ( v , w ) → ⋀ i = 1 k P ( f s i ( v ) , f t i ( w ) ) ) ϕ 3 = def ∃ z P ( z , z ) \phi_1\overset{\text{def}}{=}\bigwedge_{i=1}^kP(f_{s_i}(e), f_{t_i}(e))\\ \phi_2\overset{\text{def}}{=}\forall v\forall w \left( P(v, w) \to \bigwedge_{i=1}^kP(f_{s_i}(v), f_{t_i}(w)) \right)\\ \phi_3\overset{\text{def}}{=}\exists z P(z, z) ϕ1=defi=1kP(fsi(e),fti(e))ϕ2=defvw(P(v,w)i=1kP(fsi(v),fti(w)))ϕ3=defzP(z,z)
论断 ⊨ ϕ \vDash \phi ϕ成立,当且仅当波斯特对应问题 C C C有解。

必要性:

太烦不证了。

谓词逻辑的表达能力

软件模型、设计标准和硬件或程序的执行模型经常通过有向图来描述。这样的模型 M \mathcal{M} M就是定义在具体“状态”集合 A A A上的二元谓词 R R R的解释。

例:给定状态集合 A = { s 0 , s 1 , s 2 , s 3 } A=\{s_0, s_1, s_2, s_3\} A={s0,s1,s2,s3},令 R M R^\mathcal{M} RM是集合 { ( s 0 , s 1 ) , ( s 1 , s 0 ) , ( s 1 , s 1 ) , ( s 1 , s 2 ) , ( s 2 , s 0 ) , ( s 3 , s 0 ) , ( s 3 , s 2 ) } \{(s_0, s_1), (s_1, s_0), (s_1, s_1), (s_1, s_2), (s_2, s_0), (s_3, s_0), (s_3, s_2)\} {(s0,s1),(s1,s0),(s1,s1),(s1,s2),(s2,s0),(s3,s0),(s3,s2)}。用有向图描述这个模型,当且仅当 ( s , s ′ ) ∈ R M (s, s')\in R^\mathcal{M} (s,s)RM,存在一条从结点 s s s,到结点 s ′ s' s的边。在这种情形下,通常记作 s → s ′ s\to s' ss

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-35K9dmws-1690184953164)(C:\Users\12921\AppData\Roaming\Typora\typora-user-images\image-20230608182428294.png)]

紧致性定理 Γ \Gamma Γ是谓词逻辑的一个语句集合。若 Γ \Gamma Γ的所有有限子集都是可满足的,则 Γ \Gamma Γ也是可满足的。

Löwenheim-Skolem 定理 ψ \psi ψ是谓词逻辑的一个语句,对任何自然数 n ≥ 1 n\ge1 n1,存在 ψ \psi ψ的至少有 n n n个元素的模型。则 ψ \psi ψ有无限个元素的模型。

可达性:给定有向图中的结点 n n n n ′ n' n,是否存在从 n n n n ′ n' n的有限长度的迁移路径?

可达性用谓词逻辑是不可表达的∶ 不存在仅以 u u u v v v为自由变量且仅有一个二元谓词符号 R R R的谓词逻辑公式 ϕ \phi ϕ,使得 ϕ \phi ϕ在有向图中成立当且仅当该有向图中存在一条从伴随 u u u的结点到伴随 v v v的结点的路径。

使用二阶逻辑表达可达性:将量词应用于谓词。

Chapter 3 通过模型检测进行验证

模型检测

时态逻辑(Temporal Logic)
思想:在一个模型中,公式的真与假不是静态的,而在命题逻辑或谓词逻辑中的确如此。
含义:时态逻辑的模型包含若干状态,而一个公式可以在某些状态下为真,在其他状态下为假。公式可以随系统的状态演化而改变其真值。
模型检测:模型检测是一种自动的、基于模型的、性质验证的处理方法。
模型检测也是基于时态逻辑的,在模型检测中,模型 M \mathcal{M} M是迁移系统,性质 ϕ \phi ϕ是时态逻辑公式,为了验证一个系统满足一个性质,需要三步操作:
使用模型检测器的描述性语言对系统进行建模,得到一个模型 M \mathcal{M} M
使用模型检测器的规范语言对性质进行编码,禅师一个时态逻辑公式 ϕ \phi ϕ
M \mathcal{M} M ϕ \phi ϕ做输入,运行模型检测器

模型检测就是对问题 M , s ⊨ ϕ \mathcal{M},s \models \phi M,sϕ是否成立计算答案的过程,此处的 ϕ \phi ϕ是时态逻辑的一个公式, M \mathcal{M} M是所考虑的一个适当模型, s s s是该模型的一个状态, ⊨ \models 是满足关系

线性时态逻辑

定义:一种能表达时间概念的特殊时态逻辑。它将时间轴看成一个线性的状态序列,可以无限延伸到未来。常用来精确表示模型的动态语义。
计算路径(简称为路径):模型里的状态序列。因为未来是不确定的,有无数种可能,在模型中表示有无数条路径,代表未来不同的可能,任何一条路径都可能会是一条实际的路径(每一条路径都有可能发生,但只有一条路径会真正发生)。
命题原子公式:原子公式用$ p,q,r,p_1,q_1,r_1… 等符号表示,这些原子代表系统可能成立的事实,比如“打印机正在打印”,“进程 1220 被挂起”,或者“程序计数器上的值为 6 ”。原子集合:表示系统可能成立的全部事实,用 等符号表示,这些原子代表系统可能成立的事实,比如“打印机正在打印”,“进程1220被挂起”,或者“程序计数器上的值为6”。 原子集合:表示系统可能成立的全部事实,用 等符号表示,这些原子代表系统可能成立的事实,比如打印机正在打印进程1220被挂起,或者程序计数器上的值为6”。原子集合:表示系统可能成立的全部事实,用Atoms 表示,比如 表示,比如 表示,比如p,q 的所有组合: 的所有组合: 的所有组合:Atoms = {\varnothing,{p},{q},{p,q}}$

L T L LTL LTL语法
ϕ : : = ⊥ ∣ ⊤ ∣ p ∣ ( ¬ ϕ ) ∣ ( ϕ ∧ ϕ ) ∣ ( ϕ ∨ ϕ ) ∣ ( ϕ → ϕ ) ∣ ( X ϕ ) ∣ ( F ϕ ) ∣ ( G ϕ ) ∣ ( ϕ U ϕ ) ∣ ( ϕ W ϕ ) ∣ ( ϕ R ϕ ) \phi ::= \perp | \top | p| (\neg \phi) | (\phi \wedge \phi)| (\phi \vee\phi)| (\phi \to \phi) | (X \phi)| (F \phi)| (G \phi)| (\phi U \phi)| (\phi W \phi)| (\phi R \phi) ϕ::=⊥∣⊤∣p(¬ϕ)(ϕϕ)(ϕϕ)(ϕϕ)()()()(ϕUϕ)(ϕWϕ)(ϕRϕ)
上述公式表示,如果 ϕ \phi ϕ是LTL公式,则 ¬ ϕ , ( ϕ ∧ ϕ ) , ( G ϕ ) ⋯ \neg \phi, (\phi \wedge \phi), (G \phi) \cdots ¬ϕ,(ϕϕ),()也是LTL公式,同时 ⊥ ∣ ⊤ ∣ p \perp | \top | p ∣⊤∣p也是LTL公式。其中, p p p是取自原子集合 A t o m s Atoms Atoms的任意命题原子

时态连接词:

​ 一元时态连接词:
X X X:下一个状态。
F F F:某未来状态。
G G G:所有未来状态。
​ 二元时态连接词:
U U U:直到。
R R R:释放。
W W W:弱-直到。

时态连接词的含义:

原子命题 p p p表示路径 π \pi π中第一个原子命题是 p p p

X p Xp Xp表示路径 π \pi π中第二个原子命题是 p p p

G p Gp Gp表示路径 π \pi π中每一个原子命题都是 p p p

p U q pUq pUq表示对于路径 π : s 0 → s 1 → ⋯ \pi:s_0 \to s_1 \to \cdots π:s0s1中,假设原子命题 p p p在且只在 s 3 , s 4 , s 5 , s 6 , s 7 , s 8 s_3,s_4,s_5,s_6,s_7,s_8 s3,s4,s5,s6,s7,s8状态点满足,原子命题 q q q只在 s 9 s_9 s9状态点满足。则如果 i i i的值为 0 , 1 , 2 , π i ⊭ p U q π i ⊭ p U q 0,1,2,π i ⊭ p U q \pi^i \nvDash pUq 0,1,2πipUqπipUq(因为这个时候的开始点没有 p p p);如果 i i i的值为 3 , 4 , 5 , 6 , 7 , 8 , 9 3,4,5,6,7,8,9 3,4,5,6,7,8,9,则 π i ⊨ p U q \pi^i \vDash pUq πipUq

p R q pRq pRq: q q q必须保持为真,直到 p p p为真的时刻

或者
如果 p p p为真的时刻不存在,则 q q q一直为真

R R R U U U的对偶,即 ϕ R ψ \phi R \psi ϕRψ等价于 ¬ ( ¬ ϕ U ¬ ψ ) \neg (\neg \phi U \neg \psi) ¬(¬ϕU¬ψ)

L T L LTL LTL公式范例: ( F ( p → ( G   r ) ) ∨ ( ( ¬ q ) U   p ) ) (F(p \to (G \ r)) \vee ((\neg q) U \ p )) (F(p(G r))((¬q)U p))

4,s_5,s_6,s_7,s_8 状态点满足,原子命题 状态点满足,原子命题 状态点满足,原子命题q 只在 只在 只在s_9 状态点满足。则如果 状态点满足。则如果 状态点满足。则如果i$的值为 0 , 1 , 2 , π i ⊭ p U q π i ⊭ p U q 0,1,2,π i ⊭ p U q \pi^i \nvDash pUq 0,1,2πipUqπipUq(因为这个时候的开始点没有 p p p);如果 i i i的值为 3 , 4 , 5 , 6 , 7 , 8 , 9 3,4,5,6,7,8,9 3,4,5,6,7,8,9,则 π i ⊨ p U q \pi^i \vDash pUq πipUq

p R q pRq pRq: q q q必须保持为真,直到 p p p为真的时刻

或者
如果 p p p为真的时刻不存在,则 q q q一直为真

R R R U U U的对偶,即 ϕ R ψ \phi R \psi ϕRψ等价于 ¬ ( ¬ ϕ U ¬ ψ ) \neg (\neg \phi U \neg \psi) ¬(¬ϕU¬ψ)

L T L LTL LTL公式范例: ( F ( p → ( G   r ) ) ∨ ( ( ¬ q ) U   p ) ) (F(p \to (G \ r)) \vee ((\neg q) U \ p )) (F(p(G r))((¬q)U p))

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值