往期文章:
- 【计算复杂性理论】证明复杂性(Proof Complexity)(一):简介
- 【计算复杂性理论】证明复杂性(二):归结(Resolution)与扩展归结(Extended Resolution)证明系统
- 【计算复杂性理论】证明复杂性(三):弗雷格(Frege)与扩展弗雷格(Extended Frege)证明系统
文章目录
一阶逻辑的相继式演算是由根岑[2]提出来的。我们将会看到其命题逻辑的部分多项式等价于弗雷格系统。不像某些弗雷格系统,相继式演算是非常优雅的,它有优美的、简洁的、对称的推理规则。这种规则的清晰性允许我们对演算中的推导过程进行深度的证明论分析。根岑本人用它对谓词演算和算术理论进行了深入的研究。
根岑的 L K \mathrm{LK} LK证明系统通常指谓词演算,但是我们下面用这个名字指代其命题逻辑的部分。
一、相继式演算 L K \mathrm{LK} LK系统
采用的语言:德·摩根语言
公式序列(cedent):一个有限的、可能是空的公式系列。不知道怎么翻译cedent,只能先这么翻译了QAQ~
相继式(sequent):
L
K
\mathrm{LK}
LK证明的每一行是一个相继式。相继式是一个公式序列的有序对
Γ
,
Δ
\Gamma,\Delta
Γ,Δ,写作
Γ
→
Δ
\Gamma\to\Delta
Γ→Δ其中
Γ
\Gamma
Γ称作前项(antecedent),
Γ
\Gamma
Γ称作后项(succedent)。一个赋值满足一个相继式,当且仅当它使前项的某个公式为假,或使后项的某个公式为真。
特别地,一个赋值满足
→
A
1
,
⋯
,
A
t
\to A_1,\cdots,A_t
→A1,⋯,At当且仅当它满足
⋁
i
=
1
t
A
i
\bigvee\limits_{i=1}^{t}A_i
i=1⋁tAi(
∅
\emptyset
∅一般写成空字符串);一个赋值不满足
A
1
,
⋯
,
A
t
→
A_1,\cdots,A_t\to
A1,⋯,At→,当且仅当它满足
⋀
i
=
1
t
A
i
\bigwedge\limits_{i=1}^{t}A_i
i=1⋀tAi。
注意空相继式,即
∅
→
∅
\emptyset\to\emptyset
∅→∅,一般写作
→
\to
→,是不可满足的。这是因为没有前项的公式可以为假,也没有后项的公式可以为真。
按理来说
→
\to
→指的不是蕴含连接词,应该写成\longrightarrow
(
⟶
\longrightarrow
⟶),但是我懒得打那么多字了awa(而且CSDN不支持\newcommand
555…)
我感觉 A 1 , ⋯ , A t ⟶ B 1 , ⋯ , B t A_1,\cdots,A_t\longrightarrow B_1,\cdots,B_t A1,⋯,At⟶B1,⋯,Bt就类似于 ⋀ i = 1 t A i → ⋁ i = 1 s B i \bigwedge\limits_{i=1}^{t}A_i\to\bigvee\limits_{i=1}^{s}B_i i=1⋀tAi→i=1⋁sBi。
定义1 相继式演算LK系统的推理规则如下:
-
初始相继式(initial sequents):是具有如下形式的相继式: p → p p\to p p→p、 0 → 0\to 0→、 → 1 \to 1 →1(其中 p p p是变量)。
-
结构规则(structural rules):
- 弱化规则(weakening rules):左边: Γ → Δ A , Γ → Δ ‾ \Gamma\to\Delta\\ \overline{A,\Gamma\to\Delta} Γ→ΔA,Γ→Δ右边: Γ → Δ Γ → Δ , A ‾ \Gamma\to\Delta\\ \overline{\Gamma\to\Delta,A} Γ→ΔΓ→Δ,A相当于给后项进行了吸取引入,可以类比 P ⊢ P ∨ Q P\vdash P\lor Q P⊢P∨Q。
- 交换规则(exchange rule):左边: Γ 1 , A , B , Γ 2 → Δ ‾ Γ 1 , B , A , Γ 2 → Δ \underline{\Gamma_1,A,B,\Gamma_2\to\Delta}\\ \Gamma_1,B,A,\Gamma_2\to\Delta Γ1,A,B,Γ2→ΔΓ1,B,A,Γ2→Δ右边: Γ → Δ 1 , A , B , Δ 2 ‾ Γ → Δ 1 , B , A , Δ 2 \underline{\Gamma\to\Delta_1,A,B,\Delta_2}\\ \Gamma\to\Delta_1,B,A,\Delta_2 Γ→Δ1,A,B,Δ2Γ→Δ1,B,A,Δ2
- 收缩规则(contraction rules):左边: Γ 1 , A , A , Γ 2 → Δ ‾ Γ 1 , A , Γ 2 → Δ \underline{\Gamma_1,A,A,\Gamma_2\to\Delta}\\ \Gamma_1,A,\Gamma_2\to\Delta Γ1,A,A,Γ2→ΔΓ1,A,Γ2→Δ右边: Γ → Δ 1 , A , A , Δ 2 ‾ Γ → Δ 1 , A , Δ 2 \underline{\Gamma\to\Delta_1,A,A,\Delta_2}\\ \Gamma\to\Delta_1,A,\Delta_2 Γ→Δ1,A,A,Δ2Γ→Δ1,A,Δ2
-
逻辑规则(logical rules):
- ¬ \neg ¬引入:左边: Γ → Δ , A ¬ A , Γ → Δ ‾ \Gamma\to\Delta,A\\ \overline{\neg A,\Gamma\to\Delta} Γ→Δ,A¬A,Γ→Δ右边: A , Γ → Δ Γ → Δ , ¬ A ‾ A,\Gamma\to\Delta\\ \overline{\Gamma\to\Delta,\neg A} A,Γ→ΔΓ→Δ,¬A若 Γ → Δ ∨ A \Gamma\to\Delta\lor A Γ→Δ∨A,则 ¬ Γ ∨ Δ ∨ A \neg\Gamma\lor\Delta\lor A ¬Γ∨Δ∨A成立,即 ¬ ( Γ ∧ ¬ A ) ∨ Δ \neg(\Gamma\land\neg A)\lor\Delta ¬(Γ∧¬A)∨Δ成立,因此 ¬ A , Γ → Δ \neg A,\Gamma\to\Delta ¬A,Γ→Δ;第二条同理。
- ∧ \land ∧引入:左边: A , Γ → Δ A ∧ B , Γ → Δ ‾ A,\Gamma\to\Delta\\ \overline{A\land B,\Gamma\to\Delta} A,Γ→ΔA∧B,Γ→Δ或 A , Γ → Δ B ∧ A , Γ → Δ ‾ A,\Gamma\to\Delta\\ \overline{B\land A,\Gamma\to\Delta} A,Γ→ΔB∧A,Γ→Δ右边: Γ → Δ , A Γ → Δ , B ‾ Γ → Δ , A ∧ B \underline{\Gamma\to\Delta,A\qquad\Gamma\to\Delta,B}\\ \Gamma\to\Delta,A\land B Γ→Δ,AΓ→Δ,BΓ→Δ,A∧B
- ∨ \lor ∨引入:左边: A , Γ → Δ B , Γ → Δ ‾ A ∨ B , Γ → Δ \underline{A,\Gamma\to\Delta\qquad B,\Gamma\to\Delta}\\ A\lor B,\Gamma\to\Delta A,Γ→ΔB,Γ→ΔA∨B,Γ→Δ右边: Γ → Δ , A Γ → Δ , A ∨ B ‾ \Gamma\to\Delta,A\\ \overline{\Gamma\to\Delta,A\lor B} Γ→Δ,AΓ→Δ,A∨B或 Γ → Δ , A Γ → Δ , B ∨ A ‾ \Gamma\to\Delta,A\\ \overline{\Gamma\to\Delta,B\lor A} Γ→Δ,AΓ→Δ,B∨A把相继式表示成类似于子句的形式,那么 ∧ \land ∧引入和 ∨ \lor ∨引入都可以看作是归结里面的弱化规则。
-
切割规则(cut rule): Γ → Δ , A A , Γ → Δ ‾ Γ → Δ \underline{\Gamma\to\Delta,A\qquad A,\Gamma\to\Delta}\\ \Gamma\to\Delta Γ→Δ,AA,Γ→ΔΓ→Δ切割规则理解起来并不困难。第一个前提是:若 Γ \Gamma Γ成立,则 Δ \Delta Δ或 A A A成立。如果 Δ \Delta Δ成立好说;如果是 A A A成立,那么结合第二条规则还是能推出 Δ \Delta Δ成立。所以不论如何 Δ \Delta Δ都成立。当然,还可以用类似于归结的方式来理解:这两个前提表示成子句分别是 ¬ Γ ∨ Δ ∨ A \neg\Gamma\lor\Delta\lor A ¬Γ∨Δ∨A和 ¬ A ∨ ¬ Γ ∨ Δ \neg A\lor\neg\Gamma\lor\Delta ¬A∨¬Γ∨Δ,进行归结把 A A A消掉即得 ¬ Γ ∨ Δ \neg\Gamma\lor\Delta ¬Γ∨Δ,即 Γ → Δ \Gamma\to\Delta Γ→Δ。
L
K
\mathrm{LK}
LK证明:一系列以初始相继式为首的相继式,用上面的推理规则进行推理。
L
K
−
\mathrm{LK}^-
LK−证明:不使用切割规则的
L
K
\mathrm{LK}
LK证明,这种证明称为无切割(cut-free)的。
树形
L
K
\mathrm{LK}
LK证明:每个相继式指用作一次推理的前提,树形
L
K
\mathrm{LK}
LK系统记作
L
K
∗
\mathrm{LK}^*
LK∗。
二、 L K \mathrm{LK} LK的强度
定理2 L K \mathrm{LK} LK和 L K − \mathrm{LK}^- LK−都是可靠且完备的。特别地,树形 L K − \mathrm{LK}^- LK−也是完备的。
证明提要:可靠性是显然的。只需证明树形 L K − \mathrm{LK}^- LK−的完备性。考虑建立一个(从下向上长的)二叉树,每个结点是一个相继式,根结点为要证明的结论。让二叉树向上不断生长,生长的规则是找出相继式中逻辑深度最大的公式并用 L K \mathrm{LK} LK的规则求出其前提,这样不断减少公式的逻辑深度,最终叶节点的逻辑深度是 0 0 0,它一定是初始相继式。
推论3 设 Γ → Δ \Gamma\to\Delta Γ→Δ是一个大小为 s s s的逻辑有效的相继式。则该相继式有一个大小不超过 O ( s 2 s ) O(s2^s) O(s2s)的树形 L K − \mathrm{LK}^- LK−证明。
推论4 在相继式 Γ → Δ \Gamma\to\Delta Γ→Δ的 L K − \mathrm{LK}^- LK−证明中出现的任何公式,都是 Γ ∪ Δ \Gamma\cup\Delta Γ∪Δ中某一公式的子公式。
证明提要:注意在除了切割规则外的其他规则中,前提的公式均为结论的公式的子公式。
定理5 L K \mathrm{LK} LK和弗雷格系统是多项式等价的。
证明从略。
注意,如果 A 1 , ⋯ , A l ‾ A 0 \underline{A_1,\cdots,A_l}\\ A_0 A1,⋯,AlA0是一个弗雷格规则,那么相继式 A 1 , ⋯ , A l → A 0 A_1,\cdots,A_l\to A_0 A1,⋯,Al→A0是逻辑有效的,并且有一个 L K − \mathrm{LK}^- LK−证明。
那么,如果我们有了 → A t \to A_t →At( t = 1 , ⋯ , l t=1,\cdots,l t=1,⋯,l)的证明以及 A 1 , ⋯ , A l → A 0 A_1,\cdots,A_l\to A_0 A1,⋯,Al→A0的证明,应用弱化规则和切割规则就可以得到 → A 0 \to A_0 →A0的证明。比如我们有 → A 1 \to A_1 →A1和 A 1 → A 0 A_1\to A_0 A1→A0,则应用弱化规则得到 → A 1 , A 0 \to A_1,A_0 →A1,A0,再用切割规则得到 → A 0 \to A_0 →A0。
同时,对于相继式 S : A 1 , ⋯ , A u → B 1 , ⋯ , B v S:A_1,\cdots,A_u\to B_1,\cdots,B_v S:A1,⋯,Au→B1,⋯,Bv,我们可以把它表示成简单析取式 ⋁ S : ¬ A 1 ∨ ⋯ ∨ ¬ A u ∨ B 1 ∨ ⋯ ∨ B v \bigvee S:\neg A_1\lor\cdots\lor\neg A_u\lor B_1\lor\cdots\lor B_v ⋁S:¬A1∨⋯∨¬Au∨B1∨⋯∨Bv关于切割规则的必要性,我们有
引理6 L K − \mathrm{LK}^- LK−不多项式模拟 L K \mathrm{LK} LK。事实上,存在一些相继式,它们拥有大小为 s s s的 L K \mathrm{LK} LK证明,但所有的 L K − \mathrm{LK}^- LK−证明都需要 2 s Ω ( 1 ) 2^{s^{\Omega(1)}} 2sΩ(1)步。
我们可以把弗雷格系统及其树形子系统的关系扩展到相继式演算上:
定理7 L K \mathrm{LK} LK和 L K ∗ \mathrm{LK}^* LK∗是多项式等价的。
三、无切割证明的插值
首先我们介绍插值的概念。
定理8 令 p , q , r \boldsymbol{p},\boldsymbol{q},\boldsymbol{r} p,q,r为互不相交的变量元组。假设 α ( p , q ) ⊨ β ( p , r ) \alpha(\boldsymbol{p},\boldsymbol{q})\models\beta(\boldsymbol{p},\boldsymbol{r}) α(p,q)⊨β(p,r)(即以 p , q \boldsymbol{p},\boldsymbol{q} p,q为变量的公式 α \alpha α蕴含以 p , r \boldsymbol{p},\boldsymbol{r} p,r为变量的公式 β \beta β)。特别地,在两个公式中都出现的变量包含于 p \boldsymbol{p} p。
- 那么存在一个以 p \boldsymbol{p} p为变量的公式 γ ( p ) \gamma(\boldsymbol{p}) γ(p),使得 α ⊨ γ 且 γ ⊨ β \alpha\models\gamma\text{ 且 }\gamma\models\beta α⊨γ 且 γ⊨β这里 γ \gamma γ起到一个“中继站”的作用。
- 如果 p \boldsymbol{p} p在 α \alpha α中没有以否定的形式出现,或在 β \beta β中仅以否定的形式出现,则存在不含否定连接词 ¬ \neg ¬的 γ \gamma γ。
γ
\gamma
γ被称作
α
\alpha
α和
β
\beta
β的一个插值体(interpolant)实在是不知道怎么翻译555(在第二条中称为单调插值体(monotone interpolant))。
证明:设 U , V U,V U,V为 p \boldsymbol{p} p的两个复制集合。其中 U U U的每个赋值满足:在给定 p \boldsymbol{p} p的赋值为该赋值后,存在 q \boldsymbol{q} q的赋值使得 p , q \boldsymbol{p},\boldsymbol{q} p,q的赋值满足 α \alpha α。 V V V的每个赋值满足:在给定 p \boldsymbol{p} p的赋值为该赋值后,对于任意 r \boldsymbol{r} r的赋值, p , r \boldsymbol{p},\boldsymbol{r} p,r的赋值都满足 β \beta β。由于 α ⊨ β \alpha\models\beta α⊨β,则对于每个 p , q , r \boldsymbol{p},\boldsymbol{q},\boldsymbol{r} p,q,r的赋值, α \alpha α的每个可满足赋值也必定满足 β \beta β。然而 α \alpha α的赋值仅由 p , q \boldsymbol{p},\boldsymbol{q} p,q的赋值决定,也就是说,如果 p , q \boldsymbol{p},\boldsymbol{q} p,q的赋值满足 α \alpha α,则不论 r \boldsymbol{r} r的赋值是什么,这个 p , q , r \boldsymbol{p},\boldsymbol{q},\boldsymbol{r} p,q,r的赋值都满足 α \alpha α,因此它也应该满足 β \beta β。不过 β \beta β与 q \boldsymbol{q} q无关,所以对于这个 p \boldsymbol{p} p和任意 r \boldsymbol{r} r, p , r \boldsymbol{p},\boldsymbol{r} p,r均能满足 β \beta β。因此 U ⊆ V U\subseteq V U⊆V。这样,我们只要选取公式 γ \gamma γ使得其可满足赋值的集合包含 U U U且包含于 V V V,就可以保证 α ⊨ γ \alpha\models\gamma α⊨γ且 γ ⊨ β \gamma\models\beta γ⊨β了。
对于单调的情况,如果 p \boldsymbol{p} p在 α \alpha α中不以否定的形式出现,则令 γ \gamma γ为在且尽在 U U U上取 1 1 1的公式;如果 p \boldsymbol{p} p在 β \beta β中只以否定的形式出现,则令 γ \gamma γ为在且尽在 V V V上取 0 0 0的公式。这样 γ \gamma γ就是单调的。
定义否定范式版本的 L K \mathrm{LK} LK(或 L K − \mathrm{LK}^- LK−)为只允许否定连接词作用于变量和常量的 L K \mathrm{LK} LK(或 L K − \mathrm{LK}^- LK−)系统。我们有
定理9 设 π \pi π是相继式 Γ ( p , q ) → Δ ( p , r ) \Gamma(\boldsymbol{p},\boldsymbol{q})\to\Delta(\boldsymbol{p},\boldsymbol{r}) Γ(p,q)→Δ(p,r)的一个否定范式的、树形的 L K − \mathrm{LK}^- LK−证明,其中 p , q , r \boldsymbol{p},\boldsymbol{q},\boldsymbol{r} p,q,r是互不相交的变量元组。则存在公式 I ( p ) I(\boldsymbol{p}) I(p),使得:
- Γ → I \Gamma\to I Γ→I和 I → Δ I\to\Delta I→Δ都是逻辑有效的,且它们的否定范式树形 L K − \mathrm{LK}^- LK−证明可以用一个多项式时间的算法从 π \pi π中构造出来;
- ∣ I ∣ ≤ k ( π ) |I|\le\mathbf{k}(\pi) ∣I∣≤k(π);
- l d p ( I ) ≤ h ( π ) l\mathrm{dp}(I)\le\mathbf{h}(\pi) ldp(I)≤h(π)。
而且,如果 p \boldsymbol{p} p在 Γ \Gamma Γ或 Δ \Delta Δ中不以否定形式出现,则 I I I是单调的。
证明从略。
四、深度受限的 L K \mathrm{LK} LK子系统
定义 L K d \mathrm{LK}_d LKd为 L K \mathrm{LK} LK中把 ∨ \lor ∨和 ∧ \land ∧换成无限元析取、合取连接词,且出现的公式深度至多为 d d d的证明系统。
引理10 设 S S S是一个逻辑有效的相继式,其中公式的深度至多为 d d d。则 S S S有一个 L K d ∗ \mathrm{LK}_d^* LKd∗证明。
引理11 设 d ≥ 0 d\ge 0 d≥0且假设 π \pi π是从相继式 Z 1 , ⋯ , Z t Z_1,\cdots,Z_t Z1,⋯,Zt推出相继式 S S S的一个 L K d \mathrm{LK}_d LKd证明。则存在一个从 Z 1 , ⋯ , Z t Z_1,\cdots,Z_t Z1,⋯,Zt推出 S S S的一个 L K d + 1 ∗ \mathrm{LK}_{d+1}^* LKd+1∗证明 ρ \rho ρ,满足 ∣ ρ ∣ = ∣ π ∣ O ( 1 ) |\rho|={|\pi|}^{O(1)} ∣ρ∣=∣π∣O(1)。并且 ρ \rho ρ可以从 π \pi π用一个多项式时间的算法构造出来。
引理12 设 π \pi π是从相继式 Z 1 , ⋯ , Z t Z_1,\cdots,Z_t Z1,⋯,Zt推出相继式 S S S的一个 L K d ∗ \mathrm{LK}_d^* LKd∗证明。则存在一个深度至多为 d d d的永真相继式的集合 T T T以及一个从 { Z 1 , ⋯ , Z t } ∪ T \{Z_1,\cdots,Z_t\}\cup T {Z1,⋯,Zt}∪T推出 S S S的 L K d + 1 ∗ \mathrm{LK}_{d+1}^* LKd+1∗证明 ρ \rho ρ,使得:
- ∣ ρ ∣ = ∣ π ∣ O ( 1 ) |\rho|={|\pi|}^{O(1)} ∣ρ∣=∣π∣O(1);
- ρ \rho ρ中所有切割推理都在其他非一元推理的下面;
- ρ \rho ρ中的任何路径都至多有 O ( log ( k ( π ) w ( π ) ) ) O(\log(\mathbf{k}(\pi)\mathbf{w}(\pi))) O(log(k(π)w(π)))个切割推理。
事实上, ρ \rho ρ可以由一个多项式时间的算法从 π \pi π构造出来。
引理13 设 d ≥ 0 d\ge 0 d≥0且假设 ρ \rho ρ是从相继式 Z 1 , ⋯ , Z t Z_1,\cdots,Z_t Z1,⋯,Zt推出相继式 S S S的一个 L K d + 1 ∗ \mathrm{LK}_{d+1}^* LKd+1∗证明。则存在一个从 Z 1 , ⋯ , Z t Z_1,\cdots,Z_t Z1,⋯,Zt推出 S S S的一个 L K d \mathrm{LK}_{d} LKd证明 ρ \rho ρ,满足 ∣ π ∣ = O ( ∣ ρ ∣ 4 ) |\pi|=O({|\rho|}^{4}) ∣π∣=O(∣ρ∣4)。并且 π \pi π可以从 ρ \rho ρ用一个多项式时间的算法构造出来。
引理14 对于引理13提到的 ρ \rho ρ,如果 ρ \rho ρ中每个相继式至多包含 c c c个深度为 d + 1 d+1 d+1的公式,则 π \pi π可以是一个大小至多为 O ( ∣ ρ ∣ c + 4 ) O({|\rho|}^{c+4}) O(∣ρ∣c+4)的 L K d ∗ \mathrm{LK}_d^* LKd∗证明。
推论15 设 d ≥ 0 d\ge 0 d≥0,令 S S S和 Z 1 , ⋯ , Z t Z_1,\cdots,Z_t Z1,⋯,Zt是一些相继式,其中的公式深度不超过 d d d。若 Z 1 , ⋯ , Z t ⊨ S Z_1,\cdots,Z_t\models S Z1,⋯,Zt⊨S,则存在一个从 Z 1 , ⋯ , Z t Z_1,\cdots,Z_t Z1,⋯,Zt推出 S S S的一个 L K d \mathrm{LK}_d LKd证明。
参考文献
[1] Krajícěk, Jan. “Proof complexity.” Mathematics and Computation (2019). 这是这篇文章主要的参考文献。这本书可在这里下载。
[2] Gentzen, Gerhard. “Die Widerspruchsfreiheit der reinen Zahlentheorie.” Mathematische Annalen 112 (1936): 493-565.