【计算复杂性理论】证明复杂性(三):弗雷格(Frege)与扩展弗雷格(Extended Frege)证明系统

往期文章:

弗雷格也是一个演算式证明系统,它的特点是允许我们用一个有限的规则集合中的规则对公式进行操作。“弗雷格系统”这个术语是由Cook和Reckhow[2]提出的,不过在数理逻辑中它一般被称作希尔伯特风格的演算(Hilbert-style calculi)。

一、弗雷格证明系统

L L L是命题逻辑的一个有限且完备的语言。也就是说, L L L包含由某些布尔函数定义的有限个连接词(可能包含零元连接词,即常数 0 0 0 1 1 1),并且具有任何变量个数的任何布尔函数都可以由 L L L组成的公式定义(这称为 L L L的完备性)。一个著名的例子是德·摩根语言(DeMorgan Language),它包含无限个布尔变量、常数 0 0 0 1 1 1、否定连接词 ¬ \neg ¬、合取连接词 ∧ \land 、析取连接词 ∨ \lor 和逗号( , , ,)。

定义1(弗雷格规则) 设 L L L是命题逻辑的一个有限完备语言。令 l ≥ 0 l\ge 0 l0。一个 l l l元弗雷格规则( l l l-ary Frege rule)是一个包含 ( l + 1 ) (l+1) (l+1) L L L组成的公式的元组 ( A 0 , A 1 , ⋯   , A l ) (A_0,A_1,\cdots,A_l) (A0,A1,,Al),通常写作 A 1 , A 2 , ⋯   , A l ‾ A 0 \underline{A_1,A_2,\cdots,A_l}\\ A_0 A1,A2,,AlA0使得 A 1 , A 2 , ⋯   , A l ⊨ A 0 A_1,A_2,\cdots,A_l\models A_0 A1,A2,,AlA0(即 A 1 , A 2 , ⋯   , A l A_1,A_2,\cdots,A_l A1,A2,,Al可推出 A 0 A_0 A0)。 A 1 , A 2 , ⋯   , A l A_1,A_2,\cdots,A_l A1,A2,,Al称为规则的假设(hypotheses), A 0 A_0 A0称为其结果(consequence)。一个没有假设的规则(即 l = 0 l=0 l=0)称为一个弗雷格公理模式(Frege axiom scheme),简单地写作 A 0 A_0 A0

例如,假言推理(modus ponens)就是一个二元弗雷格规则,它被定义为 p , p → q ‾ q \underline{p,p\to q}\\ q p,pqq弗雷格公理模式的一个例子是排中律(tertium non datur): p ∨ ¬ p p\lor\neg p p¬p它不需要任何前提就自动成立。

定义2(弗雷格证明) 设 F F F是一个有限的弗雷格规则集合,它定义在有限完备语言 L L L上。从 L L L公式 B 1 , B 2 , ⋯   , B t B_1,B_2,\cdots,B_t B1,B2,,Bt推出 L L L公式 C C C的一个 F F F证明就是一系列 L L L公式的集合 D 1 , D 2 , ⋯   , D k D_1,D_2,\cdots,D_k D1,D2,,Dk,使得:

  • D k = C D_k=C Dk=C
  • ∀ i ∈ { 1 , 2 , ⋯   , k } \forall i\in\{1,2,\cdots,k\} i{ 1,2,,k}
    • 要么 F F F中存在一个 l l l元弗雷格规则 A 1 , A 2 , ⋯   , A l ‾ A 0 \underline{A_1,A_2,\cdots,A_l}\\ A_0 A1,A2,,AlA0且存在 j 1 , ⋯   , j l < i j_1,\cdots,j_l<i j1,,jl<i和一个替换 σ \sigma σ使得 σ ( A k ) = D j k   ( k = 1 , 2 , ⋯   , l ) \sigma(A_k)=D_{j_k}\ (k=1,2,\cdots,l) σ(Ak)=Djk (k=1,2,,l) σ ( A 0 ) = D i \sigma(A_0)=D_i σ(A0)=Di(也就是说把这个规则用在 D j 1 , D j 2 , ⋯   , D j k D_{j_1},D_{j_2},\cdots,D_{j_k} Dj1,Dj2,,Djk上得到 D i D_i Di
    • 要么有 D i ∈ { B 1 , ⋯   , B t } D_i\in\{B_1,\cdots,B_t\} Di{ B1,,Bt}

比如,设 t = 2 t=2 t=2 B 1 = a ∨ b B_1=a\lor b B1=ab B 2 = ( a ∨ b ) → ( c ∧ ¬ d ) B_2=(a\lor b)\to(c\land\neg d) B2=(ab)(c¬d) F F F中只有一条规则:假言推理 p , p → q ‾ q \underline{p,p\to q}\\ q p,pqq现在定义替换 σ \sigma σ使得 p p p被替换为 a ∨ b a\lor b ab q q q被替换为 c ∧ ¬ d c\land\neg d c¬d,应用假言推理即可得到结果 c ∧ ¬ d c\land\neg d c¬d,从而我们推出了 C = c ∧ ¬ d C=c\land\neg d C=c¬d。我们有 D 1 = B 1 D_1=B_1 D1=B1 D 2 = B 2 D_2=B_2 D2=B2 D 3 = C D_3=C D3=C

我们用 π : B 1 , B 2 , ⋯   , B t ⊢ F C \pi:B_1,B_2,\cdots,B_t\vdash_F C π:B1,B2,,BtFC来表示 π = ( D 1 , D 2 , ⋯   , D k ) \pi=(D_1,D_2,\cdots,D_k) π=(D1,D2,,Dk)是从 B 1 , B 2 , ⋯   , B t B_1,B_2,\cdots,B_t B1,B2,,Bt推出 C C C的一个 F F F证明(如果 F F F明确则省略下标 F F F)。用 B 1 , B 2 , ⋯   , B t ⊢ F C B_1,B_2,\cdots,B_t\vdash_F C B1,B2,,BtFC来表示存在一个从 B 1 , B 2 , ⋯   , B t B_1,B_2,\cdots,B_t B1,B2,,Bt推出 C C C的证明。

定义3(可靠性和完备性) 设 L L L是命题逻辑的一个有限完备语言。对于一个定义在 L L L上、由有限个弗雷格规则组成的弗雷格证明系统 F F F,如果对于任意 L L L公式 B 1 , B 2 , ⋯   , B t , C B_1,B_2,\cdots,B_t,C B1,B2,,Bt,C B 1 , B 2 , ⋯   , B t ⊨ C B_1,B_2,\cdots,B_t\models C B1,B2,,BtC当且仅当 B 1 , B 2 , ⋯   , B t ⊢ F C B_1,B_2,\cdots,B_t\vdash_F C B1,B2,,BtFC,则称 F F F是可靠的(sound)和推理完备的(implicationally complete)。

一个经典的例子是Łukasiewicz[3]提出的非常简洁的弗雷格系统。它定义在语言 L = { ¬ , → } L=\{\neg,\to\} L={ ¬,}上,只有一条一个元数大于 0 0 0的规则——假言推理,以及三条公理模式:

  • p → ( q → p ) p\to(q\to p) p(qp)
  • [ p → ( q → r ) ] → [ ( p → q ) → ( p → r ) ] [p\to(q\to r)]\to[(p\to q)\to(p\to r)] [p(qr)][(pq)(pr)]
  • ( ¬ p → ¬ q ) → [ ( ¬ p → q ) → p ] (\neg p\to\neg q)\to[(\neg p\to q)\to p] (¬p¬q)[(¬pq)p]

下面这两条引理是常用的。

引理4 F F F是一个定义在语言 L L L上的一个弗雷格系统,并设 σ \sigma σ是对变量的一个替换。令 π = ( D 1 , D 2 , ⋯   , D k ) \pi=(D_1,D_2,\cdots,D_k) π=(D1,D2,,Dk)并假设 π : B 1 , B 2 , ⋯   , B t ⊢ F C \pi:B_1,B_2,\cdots,B_t\vdash_F C π:B1,B2,,BtFC。那么对于 σ ( π ) : = ( σ ( D 1 ) , σ ( D 2 ) , ⋯   , σ ( D k ) ) \sigma(\pi):=(\sigma(D_1),\sigma(D_2),\cdots,\sigma(D_k)) σ(π):=(σ(D1),σ(D2),,σ(Dk))(即对 π \pi π施加 σ \sigma σ替换后的 π \pi π),我们有 σ ( π ) : σ ( B 1 ) , σ ( B 2 ) , ⋯   , σ ( B t ) ⊢ F σ ( C ) \sigma(\pi):\sigma(B_1),\sigma(B_2),\cdots,\sigma(B_t)\vdash_F\sigma(C) σ(π):σ(B1),σ(B2),,σ(Bt)Fσ(C)

这个引理的正确性是显而易见的;它就是说,对于一个弗雷格推理过程,把其中的变量替换成其他公式,推理过程仍然成立。

定义弗雷格证明 π \pi π的宽度 w ( π ) \mathbf{w}(\pi) w(π) π \pi π中最大的公式。(公式的大小定义为其树形结构中结点的个数。)

引理5(演绎引理) 设 F F F是一个弗雷格系统。假设 π : A , B 1 , ⋯   , B t ⊢ F C \pi:A,B_1,\cdots,B_t\vdash_F C π:A,B1,,BtFC。令 k = k ( π ) k=\mathbf{k}(\pi) k=k(π) w = w ( π ) w=\mathbf{w}(\pi) w=w(π)。则存在一个 F F F证明 π ′ : B 1 , ⋯   , B t ⊢ A → C \pi':B_1,\cdots,B_t\vdash A\to C π:B1,,BtAC,它的步数为 O ( k ) O(k) O(k),宽度为 O ( w ) O(w) O(w),大小为 ∣ π ′ ∣ ≤ O ( ∣ π ∣ 2 ) |\pi'|\le O(|\pi|^2) πO(π2)

要证明这个引理,我们需要先证明一个论断:

论断6 存在一个只依赖于 F F F的常数 c c c,使得对于任何 F F F中的规则 E 1 , E 2 , ⋯   , E l ‾ E 0 \underline{E_1,E_2,\cdots,E_l}\\ E_0 E1,E2,,ElE0和不在任何 E j   ( j = 0 , 1 , ⋯   , l ) E_j\ (j=0,1,\cdots,l) Ej (j=0,1,,l)中出现的变量 q q q,总存在一个步数和宽度都不超过 c c c F F F证明 η : q → E 1 , q → E 2 , ⋯   , q → E l ⊢ F q → E 0 \eta:q\to E_1,q\to E_2,\cdots,q\to E_l\vdash_F q\to E_0 η:qE1,qE2,,qElFqE0证明:因为 q → E 1 , q → E 2 , ⋯   , q → E l ⊨ q → E 0 q\to E_1,q\to E_2,\cdots,q\to E_l\models q\to E_0 qE1,qE2,,qElqE0,所以根据 F F F的完备性, η \eta η一定是存在的。 c c c只需取所有 F F F规则的 η \eta η证明的步数和宽度的最大值即可。

引理5的证明:设 π = D 1 , D 2 , ⋯   , D k \pi=D_1,D_2,\cdots,D_k π=D1,D2,,Dk。我们用归纳法证明对于 i ≤ k i\le k ik,存在一个步数为 O ( i ) O(i) O(i)和宽度为 O ( w ) O(w) O(w) F F F证明 ρ i : B 1 , B 2 , ⋯   , B t ⊢ A → D i \rho_i:B_1,B_2,\cdots,B_t\vdash A\to D_i ρi:B1,B2,,BtADi我们根据 D i D_i Di π \pi π中如何得出进行分类讨论:

  • D i = A D_i=A Di=A:此时要证的结论是 A → A A\to A AA。由于 q → q q\to q qq q q q是任意布尔变量)是永真式,它一定有一个弗雷格证明,根据引理4把证明中的 q q q换成 A A A即可。这个证明消耗的步数为常数,宽度为 O ( ∣ A ∣ ) = O ( w ) O(|A|)=O(w) O(A)=O(w)
  • D i = B j D_i=B_j Di=Bj:考虑使用弗雷格规则 q → ( p → q ) q\to (p\to q) q(pq),把 p p p换成 A A A q q q换成 B j B_j Bj,得到 B j → ( A → B j ) B_j\to(A\to B_j) Bj(ABj),再结合已经存在的前提 B j B_j Bj,应用假言推理即得到 A → B j A\to B_j ABj。这个证明消耗的步数也为常数,宽度为 O ( 2 ∣ B j ∣ + ∣ A ∣ ) = O ( w ) O(2|B_j|+|A|)=O(w) O(2∣Bj+A)=O(w)
  • D i D_i Di是由某个弗雷格规则推出来的。假设这个弗雷格规则是 E 1 , E 2 , ⋯   , E l ‾ E 0 \underline{E_1,E_2,\cdots,E_l}\\ E_0 E1,E2,,ElE0那么根据归纳假设, A → E j   ( j = 0 , ⋯   , l ) A\to E_j\ (j=0,\cdots,l) AEj (j=0,,l)已经得到了,所以应用论断6,把 q q q换成 A A A即知 A → E 0 A\to E_0 AE0有一个长度和宽度都不超过某个常数的证明。

综上所述,得出 A → D i A\to D_i ADi的每一步花费的步数都为常数,宽度都不超过 O ( w ) O(w) O(w)。因此可以把 π ′ \pi' π构造成得出各 A → D i A\to D_i ADi的过程,其步数为 O ( k ) O(k) O(k),宽度为 O ( w ) O(w) O(w)。由于 ∣ π ∣ ≥ O ( k + w ) |\pi|\ge O(k+w) πO(k+w) ∣ π ′ ∣ ≤ O ( k w ) |\pi'|\le O(kw) πO(kw),由 2 k w ≤ k 2 + 2 k w + w 2 2kw\le k^2+2kw+w^2 2kwk2+2kw+w2 ∣ π ′ ∣ = O ( ∣ π ∣ 2 ) |\pi'|=O(|\pi|^2) π=O(π2)

接下来我们简要介绍关于弗雷格系统的两个事实:可以在不过度增加证明大小和步数的情况下把证明转化成树形证明,以及每个弗雷格系统在本质上是多项式等价(p-equivalent)的。

二、树形证明

定义7(树形证明) 对于一个弗雷格证明,如果它的每一个证明步骤只在推理规则中至多用过一次,则称这个证明是树形的(tree-like)。我们称一般的弗雷格证明为有向无环图形的(dag-like)。这里的树和有向无环图指的是一个弗雷格证明的证明图(proof graph)的类型,证明图的结点是证明步骤,具有从前提到结论的有向边。

定义8(高度) 对于弗雷格证明 π \pi π,其高度 h ( π ) \mathbf{h}(\pi) h(π)定义为其证明图中最长有向路径的边数。如果证明图是树,那么这就是树的高度。

定理9(Krajícěk[4]) 设 F F F是德·摩根语言上的一个弗雷格系统, F ∗ F^* F是证明都为树形的 F F F系统。设 π = C 1 , C 2 , ⋯   , C k \pi=C_1,C_2,\cdots,C_k π=C1,C2,,Ck是从 B 1 , ⋯   , B t B_1,\cdots,B_t B1,,Bt推出 A A A的一个 F F F证明,其步数为 k k k,大小为 s s s。则存在一个树形的 F ∗ F^* F证明 π ∗ \pi^* π,使得:

  • π ∗ \pi^* π的步数为 k ( π ∗ ) = O ( k log ⁡ k ) \mathbf{k}(\pi^*)=O(k\log k) k(π)=O(klogk)
  • π ∗ \pi^* π的高度为 h ( π ∗ ) = O ( log ⁡ k ) \mathbf{h}(\pi^*)=O(\log k) h(π)=O(logk)
  • π ∗ \pi^* π的大小 ∣ π ∗ ∣ = O ( s k log ⁡ k ) = O ( s 2 log ⁡ s ) |\pi^*|=O(sk\log k)=O(s^2\log s) π=O(sklogk)=O(s2logs)

O O O记号中隐含的常数只取决于 F F F。存在一个多项式时间的算法从 π \pi π得出 π ∗ \pi^* π;特别地, F ≡ p F ∗ F\equiv_p F^* FpF

证明提要:不失一般性,设 π \pi π的前 t t t步是 B 1 , ⋯   , B t B_1,\cdots,B_t B1,,Bt。定义 D i D_i Di C 1 ∧ ⋯ ∧ C i C_1\land\cdots\land C_i C1Ci按平衡二叉树的排布加括号的形式;也就是说,这个合取树的高度大约为 log ⁡ 2 i \log_2 i log2i。我们现在按如下方式构造 π ∗ \pi^* π

  1. B 1 , ⋯   , B t B_1,\cdots,B_t B1,,Bt中派生出 D t D_t Dt,这个树形证明的高度为 O ( log ⁡ t ) O(\log t) O(logt),大小为 O ( t ∣ D t ∣ ) ≤ O ( t s ) O(t|D_t|)\le O(ts) O(tDt)O(ts)
  2. 用一个排布为平衡二叉树的证明来派生出 D t → D k D_t\to D_k DtDk。这里用到了类似于分治的思想: D t → D k D_t\to D_k DtDk可以由 D t → D u D_t\to D_u DtDu D u → D k D_u\to D_k DuDk得出,其中 u = ⌊ t + k 2 ⌋ u=\left\lfloor\frac{t+k}{2}\right\rfloor u=2t+k。对于二叉树的每个分支不断递归,直到需要证明 D i → D i + 1 D_i\to D_{i+1} DiDi+1为止。递归终点的证明我们在后面讨论。由于 D t → D k D_t\to D_k DtDk的证明是二叉树,所以其高度为 O ( log ⁡ k ) O(\log k) O(logk),步数(即二叉树结点个数)为 O ( k log ⁡ k ) O(k\log k) O(klogk)
  3. 现在已经得到了 D t D_t Dt D t → D k D_t\to D_k DtDk,那么可以用假言推理得出 D k D_k Dk成立。又 A = C k A=C_k A=Ck,而 D k D_k Dk本质上是 π \pi π中步骤的合取,所以可以从 D k D_k Dk中把 C k C_k Ck提取出来,得到 A A A

那么怎么证明 D i → D i + 1 D_i\to D_{i+1} DiDi+1呢?事实上,由于 q → ( p → q ) q\to(p\to q) q(pq),我们只需证明 D i + 1 D_{i+1} Di+1成立。由于 i ≥ t i\ge t it C i + 1 C_{i+1} Ci+1是由弗雷格规则得到的。设派生出 C i + 1 C_{i+1} Ci+1所用到的弗雷格证明的前提是 C j 1 , C j 2 , ⋯   , C j l C_{j_1},C_{j_2},\cdots,C_{j_l} Cj1,Cj2,,Cjl,这些前提都是包含在 D i D_i Di中的。现在,我们从 D i D_i Di中提取出 C j 1 C_{j_1} Cj1,再从 D i ∧ C j 1 D_i\land C_{j_1} DiCj1中提取出 C j 2 C_{j_2} Cj2,再从 ( D i ∧ C j 1 ) ∧ C j 2 (D_i\land C_{j_1})\land C_{j_2} (DiCj1)Cj2中提取出 C j 3 C_{j_3} Cj3,……,最后从 ( ⋯ ( ( D i ∧ C j 1 ) ∧ C j 2 ) ∧ ⋯   ) ∧ C j l − 1 (\cdots((D_i\land C_{j_1})\land C_{j_2})\land\cdots)\land C_{j_{l-1}} (((DiCj1)Cj2))Cjl1中提取出 C j c C_{j_c} Cjc。然后从 ( ⋯ ( ( D i ∧ C j 1 ) ∧ C j 2 ) ∧ ⋯   ) ∧ C j l (\cdots((D_i\land C_{j_1})\land C_{j_2})\land\cdots)\land C_{j_{l}} (((DiCj1)Cj2))Cjl提取出 C j 1 , C j 2 , ⋯   , C j l C_{j_1},C_{j_2},\cdots,C_{j_l} Cj1,Cj2,,Cjl的副本,应用弗雷格规则得到 C i + 1 C_{i+1} Ci+1,再把 C i + 1 C_{i+1} Ci+1插入 D i D_i Di所代表的平衡二叉树得到 D i + 1 D_{i+1} Di+1。这个证明的步数为 O ( c log ⁡ i ) O(c\log i) O(clogi),大小为 O ( c ∣ D i + 1 ∣ log ⁡ i ) O(c|D_{i+1}|\log i) O(cDi+1logi)

你可能会问:如果 F F F的规则中不包含 q → ( p → q ) q\to(p\to q) q(pq)这个公理模式呢?事实上,即使不包含,由于 F F F是推理完备的,那么它一定能用自己的规则推导出这个规则。因此,不论 F F F的规则如何,只要是正确的规则都可以使用,而且从 F F F推导出某个规则只需要常数的步数和宽度。

树形证明还有一个博弈论的表示,那就是Buss-Pudlák博弈。这个博弈有两个博弈方:证明者(Prover)和说谎者(Liar)。这个博弈是由公式 B 1 , B 2 , ⋯   , B t , C B_1,B_2,\cdots,B_t,C B1,B2,,Bt,C决定的,我们把它记作 G ( B 1 , ⋯   , B t ; C ) G(B_1,\cdots,B_t;C) G(B1,,Bt;C)。证明者想要证明 B 1 , B 2 , ⋯   , B t ⊨ C B_1,B_2,\cdots,B_t\models C B1,B2,,BtC,而说谎者坚持称存在一个赋值满足所有 B 1 , ⋯   , B t B_1,\cdots,B_t B1,,Bt但不满足 C C C(从而说明 B 1 , B 2 , ⋯   , B t B_1,B_2,\cdots,B_t B1,B2,,Bt不能推出 C C C)。博弈交替进行。每一轮证明者询问在说谎者声称存在的赋值下某个公式 A A A的真值,而说谎者回答 1 1 1 0 0 0。说谎者回答的真值必须满足以下规则:

  1. 前提 B 1 , B 2 , ⋯   , B t B_1,B_2,\cdots,B_t B1,B2,,Bt的真值必须是 1 1 1(因为说谎者声称该赋值满足所有前提);

  2. C C C的真值必须是 0 0 0(因为说谎者生成该赋值不满足 C C C);

  3. 如果说谎者给出过 A , D , E A,D,E A,D,E的赋值分别为 a , d , e a,d,e a,d,e,则:

    • A = ¬ D A=\neg D A=¬D,则 a = ¬ d a=\neg d a=¬d
    • A = D ∨ E A=D\lor E A=DE,则 a = d ∨ e a=d\lor e a=de
    • A = D ∧ E A=D\land E A=DE,则 a = d ∧ e a=d\land e a=de

第三条规则保证了一个公式的赋值不会与其子公式的赋值产生矛盾。

如果说谎者不能在不违法这三条规则的情况下给出证明者所问的公式的赋值,则游戏结束,证明者胜利。如果确实有 B 1 , B 2 , ⋯   , B t ⊨ C B_1,B_2,\cdots,B_t\models C B1,B2,,BtC成立,则证明者有必胜策略。他可以首先询问这些公式中各个变量的赋值,然后询问越来越大的子公式。根据第三条规则,说谎者必须正确回答变量和子公式的赋值,那么随着子公式越来越大,最终说谎者必须违反第一条或第二条规则。这个博弈至多进行 ∣ C ∣ + ∑ i = 1 t ∣ B i ∣ |C|+\sum\limits_{i=1}^t |B_i| C+i=1tBi轮。

对于一个证明者的策略 S S S,令 r ( S ) r(S) r(S)为他用策略 S S S打败任何说谎者所需的最大轮数, w ( S ) w(S) w(S)为他在博弈过程中会问到的最大公式的大小。

定理10 π \pi π是从 B 1 , ⋯   , B t B_1,\cdots,B_t B1,,Bt推出 C C C的一个 F ∗ F^* F证明,其高度为 h ( π ) = h \mathbf{h}(\pi)=h h(π)=h。那么证明者有一个必胜策略 S S S,使得 r ( S ) = O ( h ) r(S)=O(h) r(S)=O(h) w ( S ) = O ( w ( π ) ) w(S)=O(\mathbf{w}(\pi)) w(S)=O(w(π))。而且,证明者采用策略 S S S时只会询问 π \pi π中公式的子公式的赋值。
对于证明者的任何必胜策略 S S S,存在从 B 1 , ⋯   , B t B_1,\cdots,B_t B1,,Bt推出 C C C的一个 F ∗ F^* F证明 π \pi π,使得 h ( π ) = O ( r ( S ) ) \mathbf{h}(\pi)=O(r(S)) h(π)=O(r(S)) w ( π ) = O ( w ( S ) ) \mathbf{w}(\pi)=O(w(S)) w(π)=O(w(S))。而且, π \pi π中出现的各个公式都是从 S S S询问的公式应用至多 c c c个连接词构建出来的,这里 c c c是一个只依赖于 F F F的常数。特别地, π \pi π中公式的最大逻辑深度是 S S S询问的公式的最大逻辑深度加上一个常数。

证明提要:前半部分:假设 C C C是由弗雷格规则推出来的,说谎者必定对 C C C的赋值为 0 0 0。那证明者就询问推出 C C C的所有前提的所有子公式的赋值, C C C在要么违反第三条规则,要么给 C C C的某个前提赋值为 0 0 0。然后证明者就逮住这个前提不放,继续追问前提的前提,直到 C C C违反第三条规则或者给某个 B j B_j Bj赋值为 0 0 0为止。

后半部分:证明比较繁琐,从略。

定理9揭示了树形证明和Buss-Pudlák博弈的密切关系。

三、Reckhow定理

具有不同规则的弗雷格系统有本质区别吗?下面的Reckhow定理告诉我们,它们没有本质区别。

定理11(Reckhow[5]) 设弗雷格系统 F 1 F_1 F1定义在语言 L 1 L_1 L1上,弗雷格系统 F 2 F_2 F2定义在语言 L 2 L_2 L2上,且 L 1 L_1 L1 L 2 L_2 L2都包含德·摩根语言。则 F 1 F_1 F1 F 2 F_2 F2可以互相多项式模拟。

证明过于繁琐,从略。不过 L 1 = L 2 L_1=L_2 L1=L2的情况是很好理解的:对于 F 1 F_1 F1中的推理规则,由于 F 2 F_2 F2是推理完备的,所以 F 2 F_2 F2也能用几步证明来模拟 F 1 F_1 F1中的推理规则,反之亦然。这意味着 F 1 F_1 F1证明和 F 2 F_2 F2证明的长度互相构成线性上界的关系。

四、扩展弗雷格证明系统

扩展弗雷格系统是对弗雷格系统的一个增强,它允许我们引入新变量,这样我们就可以用新变量代替一大串式子,从而减少证明的大小。

定义12 E F EF EF) 令弗雷格系统 F F F的扩展为 E F EF EF。对于一些前提 B 1 , ⋯   , B t B_1,\cdots,B_t B1,,Bt和公式 C 1 , ⋯   , C k C_1,\cdots,C_k C1,,Ck,如果每个 C i C_i Ci是以下三种之一:

  • B j   ( j = 1 , ⋯   , t ) B_j\ (j=1,\cdots,t) Bj (j=1,,t)
  • 从前面的一些 C u C_u Cu应用 F F F中的一个规则得到的;
  • 具有形式 q ≡ D q\equiv D qD,其中 ≡ \equiv 的实现方式取决于 F F F(比如可以实现为 ( q → D ) ∧ ( D → q ) (q\to D)\land(D\to q) (qD)(Dq)),并且 q q q没有在 B 1 , ⋯   , B t , C 1 , ⋯   , C i − 1 , D B_1,\cdots,B_t,C_1,\cdots,C_{i-1},D B1,,Bt,C1,,Ci1,D中出现过(这里 q q q就是引入的新变量,称为扩展变量(extension variable), q ≡ D q\equiv D qD称为扩展公理(extension axiom)),

则称 C 1 , ⋯   , C k C_1,\cdots,C_k C1,,Ck B 1 , ⋯   , B t B_1,\cdots,B_t B1,,Bt的一个 E F EF EF派生( E F EF EF-derivation)。如果 B 1 , ⋯   , B t B_1,\cdots,B_t B1,,Bt的一个 E F EF EF派生以 A A A结尾,且 A A A中不包含扩展变量,则称该 E F EF EF派生为从 B 1 , ⋯   , B t B_1,\cdots,B_t B1,,Bt推出 A A A的一个 E F EF EF证明。

F F F是否多项式模拟 E F EF EF是一个开放问题,不过从证明步数的角度看, E F EF EF F F F的效率是差不多的。

引理13 对于任何永真式 A A A k E F ( A ) ≤ k F ( A ) = O ( k E F ( A ) ) \mathbf{k}_{EF}(A)\le\mathbf{k}_F(A)=O(\mathbf{k}_{EF}(A)) kEF(A)kF(A)=O(kEF(A))

证明提要:第一个不等式是显然的(任何 F F F证明也是 E F EF EF证明,只不过没有引入扩展变量而已)。对于第二个等式,假设我们按顺序引入了 r r r个扩展变量: q 1 ≡ D 1 q_1\equiv D_1 q1D1,……, q r ≡ D r q_r\equiv D_r qrDr,那么我们在 E F EF EF证明中把所有 q r q_r qr替换成 D r D_r Dr,把所有 q r − 1 q_{r-1} qr1替换成 D r − 1 D_{r-1} Dr1,直到把 q 1 q_1 q1替换成 D 1 D_1 D1,这样证明中就不包含任何新变量了,它就变成了 F F F证明。(之所以倒序替换是因为 D i D_i Di的表达式中可能含有 q 1 , ⋯   , q i − 1 q_1,\cdots,q_{i-1} q1,,qi1。)虽然往回替换的过程中公式的大小可能呈指数级增长,但是步数没变。需要注意的是 E F EF EF证明中还可能含有 U ≡ U U\equiv U UU形式的证明(你搁这搁这呢),不过 q ≡ q q\equiv q qq的证明大小是常数,根据引理4把 q q q替换成 U U U即得 U = U U=U U=U,所以所有 U ≡ U U\equiv U UU形式的证明占用的步数不超过 E F EF EF证明步数的一个线性函数,把这种冗余证明剔除以后证明步数也至多只有线性变化。因此 k F ( A ) = O ( k E F ( A ) ) \mathbf{k}_F(A)=O(\mathbf{k}_{EF}(A)) kF(A)=O(kEF(A))

对于扩展弗雷格系统,我们也有类似于Reckhow定理的结论:

引理14 E F 1 EF_1 EF1 E F 2 EF_2 EF2是定义在两个包含德·摩根语言的语言上的两个弗雷格证明系统。则 E F 1 ≡ p E F 2 EF_1\equiv_p EF_2 EF1pEF2,而且这其中的多项式模拟只会线性地改变证明的大小。

对于公式 A A A,定义 Ext ⁡ ( A ) \operatorname{Ext}(A) Ext(A)是按如下规则构造的公式(扩展公理):

  1. 对于 A A A的每一个子公式 E E E,引入一个新变量 q E q_E qE

  2. 对于每个 E E E,把下列子句加入 Ext ⁡ ( A ) \operatorname{Ext}(A) Ext(A)

    • E = ¬ G E=\neg G E=¬G,加入 q E ≡ ¬ q G q_E\equiv\neg q_G qE¬qG
    • E = G ∘ H E=G\circ H E=GH,加入 q E ≡ ( q G ∘ q H ) q_E\equiv(q_G\circ q_H) qE(qGqH),对于 ∘ = ∧ , ∨ \circ=\land,\lor =,
    • 对于每个变量 p p p,加入 q p ≡ p q_p\equiv p qpp

这样我们对 A A A的树形结构的每个结点都引入了一个扩展变量,并层层维护扩展变量之间的关系。

引理15 E F EF EF是定义在任意语言上的一个扩展弗雷格系统,并设 π \pi π A A A的一个 E F EF EF证明, k ( π ) = k \mathbf{k}(\pi)=k k(π)=k。那么存在一个从 Ext ⁡ ( A ) \operatorname{Ext}(A) Ext(A)推出 q A q_A qA的一个 E F EF EF证明 ρ \rho ρ,使得 k ( ρ ) = O ( k ) \mathbf{k}(\rho)=O(k) k(ρ)=O(k),且 w ( ρ ) = O ( 1 ) \mathbf{w}(\rho)=O(1) w(ρ)=O(1)

证明:设 π = D 1 , D 2 , ⋯   , D k \pi=D_1,D_2,\cdots,D_k π=D1,D2,,Dk。注意对于任意 i ≤ k i\le k ik,存在一个从 ⋃ j ≤ i Ext ⁡ ( D j ) ∪ { q D 1 , ⋯   , q D i − 1 } \bigcup\limits_{j\le i}\operatorname{Ext}(D_j)\cup\{q_{D_1},\cdots,q_{D_{i-1}}\} jiExt(Dj){ qD1,,qDi1}推出 q D i q_{D_i} qDi的常数大小的弗雷格证明。比如,若 D i D_i Di是从 D u D_u Du推出的,并且 D v = D u → D i D_v=D_u\to D_i Dv=DuDi,则根据假言推理,从 q D u q_{D_u} qDu q D v q_{D_v} qDv和扩展公理 q D v ≡ ( q D u → q D v ) q_{D_v}\equiv(q_{D_u}\to q_{D_v}) qDv(qDuqDv)就可以得到 q D i q_{D_i} qDi

那么,我们有一个从 ⋃ j ≤ k Ext ⁡ ( D j ) \bigcup\limits_{j\le k}\operatorname{Ext}(D_j) jkExt(Dj) q D k q_{D_k} qDk(也就是 q A q_A qA)的证明,这个证明有 O ( k ) O(k) O(k)步和常数宽度。

接下来,我们就可以应用 Ext ⁡ ( A ) \operatorname{Ext}(A) Ext(A) q A q_A qA推出 A A A。这个证明过程有 O ( ∣ A ∣ ) O(|A|) O(A)步,大小为 O ( ∣ A ∣ 2 ) O(|A|^2) O(A2),宽度为 O ( ∣ A ∣ ) O(|A|) O(A),且逻辑深度至多为 l d p ( A ) + O ( 1 ) l\mathrm{dp}(A)+O(1) ldp(A)+O(1)

推论16 在和引理15相同的条件下,存在 A A A的一个 E F EF EF证明 π ′ \pi' π,它有 O ( k + ∣ A ∣ ) O(k+|A|) O(k+A)步,宽度为 O ( ∣ A ∣ ) O(|A|) O(A),大小为 O ( k + ∣ A ∣ 2 ) O(k+|A|^2) O(k+A2),逻辑深度至多为 l d p ( A ) + O ( 1 ) l\mathrm{dp}(A)+O(1) ldp(A)+O(1)
特别地,对于任意永真式 A A A

  • s E F ( A ) = O ( k E F ( A ) + ∣ A ∣ ) \mathbf{s}_{EF}(A)=O(\mathbf{k}_{EF}(A)+|A|) sEF(A)=O(kEF(A)+A)
  • w E F ( A ) = O ( ∣ A ∣ ) \mathbf{w}_{EF}(A)=O(|A|) wEF(A)=O(A)
  • l d p E F ( A ) ≤ l d p ( A ) + O ( 1 ) l\mathrm{dp}_{EF}(A)\le l\mathrm{dp}(A)+O(1) ldpEF(A)ldp(A)+O(1)

五、深度

定义17(否定范式) 如果一个命题公式的所有否定连接词 ¬ \neg ¬都作用在变量上(而不是子公式上),且只出现 ¬ , ∨ , ∧ \neg,\lor,\land ¬,,三种连接词,则称它是否定范式(negation normal form, NNF)。

每个命题公式都可以应用德·摩根定律转化为否定范式,只需要把否定连接词深入到变量的前面即可。

这里如果我们规定 ∨ \lor ∧ \land 的元数是无限的,那么否定范式就可以表示成一个树形结构的每一次是 ∨ , ∧ , ∨ , ∧ , ⋯ \lor,\land,\lor,\land,\cdots ,,,,交替出现的公式。现在我们定义公式的深度。

定义18(深度 dp ⁡ \operatorname{dp} dp) 对于一个允许无限元析取、合取连接词存在的否定范式 α \alpha α,按如下方式定义其深度 dp ⁡ ( α ) \operatorname{dp}(\alpha) dp(α)

  • 变量和常数的深度为 0 0 0
  • dp ⁡ ( B ) = dp ⁡ ( ¬ B ) \operatorname{dp}(B)=\operatorname{dp}(\neg B) dp(B)=dp(¬B)(即否定连接词不改变深度);
  • dp ⁡ ( ⋁ i A i ) = 1 + max ⁡ i dp ⁡ ( A i ) \operatorname{dp}\left(\bigvee\limits_{i}A_i\right)=1+\max\limits_{i}\operatorname{dp}(A_i) dp(iAi)=1+imaxdp(Ai) dp ⁡ ( ⋀ i A i ) = 1 + max ⁡ i dp ⁡ ( A i ) \operatorname{dp}\left(\bigwedge\limits_{i}A_i\right)=1+\max\limits_{i}\operatorname{dp}(A_i) dp(iAi)=1+imaxdp(Ai)

对于弗雷格系统 F F F d ≥ 0 d\ge 0 d0,令 F d F_d Fd F F F的一个子系统,它只允许出现深度不超过 d d d的公式出现。它不是完备的(因为永真式的深度可能超过 d d d)。但是我们有

引理19 对于一个弗雷格系统 F F F,对于任意 d 0 d_0 d0,存在 d 1 ≥ d 0 d_1\ge d_0 d1d0使得每个深度 ≤ d 0 \le d_0 d0的永真式都有一个 F d 1 F_{d_1} Fd1证明。

这个证明的构造过程就是模拟永真式的每个赋值。

定理20(Krajícěk[6]) 设 F F F是一个在任意语言上定义的弗雷格系统。假设 π \pi π是步数为 k k k的一个 F F F证明。则存在一个 F F F证明 π ~ \tilde{\pi} π~和一个替换 σ \sigma σ,使得:

  • σ ( π ~ ) = π \sigma(\tilde{\pi})=\pi σ(π~)=π
  • l d p ( π ~ ) ≤ O ( k ) l\mathrm{dp}(\tilde{\pi})\le O(k) ldp(π~)O(k),其中大 O O O记号隐含的常数只取决于 F F F

证明从略。

参考文献

[1] Krajícěk, Jan. “Proof complexity.” Mathematics and Computation (2019). 这是这篇文章主要的参考文献。这本书可在这里下载。
[2] Cook, Stephen A. and Robert A. Reckhow. “The Relative Efficiency of Propositional Proof Systems.” Logic, Automata, and Computational Complexity (1979).
[3] Łukasiewicz, Jan and Olgierd A. Wojtasiewicz. “Elements of mathematical logic.” (1964).
[4] Krajícěk, Jan. “Lower bounds to the size of constant-depth propositional proofs.” Journal of Symbolic Logic 59 (1994): 73 - 86.
[5] Cook, Stephen A. and Robert A. Reckhow. “On the lengths of proofs in the propositional calculus (Preliminary Version).” Symposium on the Theory of Computing (1974).
[6] Krajícěk, Jan. “On the Number of Steps in Proofs.” Ann. Pure Appl. Log. 41 (1989): 153-178.

猜你喜欢

转载自blog.csdn.net/qaqwqaqwq/article/details/131623884
今日推荐