在計算複雜性理論，**間隙定理**，又稱**鮑羅丁－特拉赫堅布羅特間隙定理**，為與可计算函数複雜度有關的重要定理。

定理斷言，复杂性类的層階之間，有任意大的可計算間隙。意思是，若給定任意一個可計算函數g，表示計算資源增加一次的效果，則必能找到某個資源上限T(n)，使得即使將資源上限增加一次變成{\displaystyle g(T(n))}，也無法計算更多函數。

定理由鮑里斯·特拉赫堅布羅特（英语：）和艾倫·鮑羅丁（英语：）分別獨立證出。

雖然特拉赫堅布羅特的推導比鮑羅丁早幾年，但時值冷戰，該定理直到鮑羅丁發表後才為西方認識。

定理敍述
----

定理的一般形式如下：

設\Phi 為抽象（布盧姆）複雜度衡量。對任意滿足{\displaystyle g(x)\geq x}（對所有x）的全可計算函數g，都存在嚴格單調的全可計算函數t，使得就\Phi 而言，以t為限的複雜性類等於以{\displaystyle g\circ t}為限的複雜性類。
定理可由複雜度衡量需滿足的布盧姆公理證出，而無須牽涉具體的計算模型，故其適用於時間複雜度、空間複雜度，或任何其他合適的複雜度衡量。

關於時間複雜度的特例，定理可更簡單複述成：

對任意滿足{\displaystyle g(x)\geq x}（對所有x）的全可計算函數{\displaystyle g:\mathbb {N} \to \mathbb {N} }，都存在時限T(n)，使得{\displaystyle {\mathsf {DTIME}}(g(T(n)))={\mathsf {DTIME}}(T(n))}，其中DTIME表示確定性圖靈機在限時內能計算的函數的集合。
由於時限T(n)可以很大（且通常不可構），間隙定理無法推出有關複雜度類{\displaystyle {\mathsf {P}}}或{\displaystyle {\mathsf {NP}}}的非平凡結果，也不與時間階層定理或空間階層定理矛盾。

證明
--

鮑羅丁證明的關鍵是，函數t在不同自然數的取值t(n)可以逐一選取，迫使所有複雜度{\displaystyle \Phi \_{i}}都不能介乎t和{\displaystyle g\circ t}之間。具體而言：

* 定義{\displaystyle t(0)=1}；
* 對n \ge 1，定義t(n)為最小的自然數k，使得{\displaystyle k>t(n-1)}，且對所有{\displaystyle i\leq n}，有{\displaystyle \Phi \_{i}(n)<k}或{\displaystyle \Phi \_{i}(n)>g(k)}。

首先，由於\Phi 滿足布盧姆公理，{\displaystyle \Phi \_{i}(n)<k}和{\displaystyle \Phi \_{i}(n)>g(k)}兩者皆是可判定的，故上述定義是t的\mu -遞歸定義，從而t為（偏）可計算函數。

然後，為驗證t是全函數，需證明在定義t(n)時，滿足條件的k存在。對每個{\displaystyle i\leq n}，

1. 若{\displaystyle \Phi \_{i}(n)=\infty }，則{\displaystyle \Phi \_{i}(n)>g(k)}總成立；
2. 否則，希望{\displaystyle \Phi \_{i}(n)<k}成立。

所以只要k大於{\displaystyle \Phi \_{0}(n),\ \Phi \_{1}(n),\ \ldots ,\ \Phi \_{n}(n)}之中有限的全部數便可。故有t全可計算。

最後，由t的定義知，t遞增，且對每個i，當{\displaystyle n\geq i}時，或有{\displaystyle \Phi \_{i}(n)<t(n)}，或有{\displaystyle \Phi \_{i}(n)>g(t(n))}，故編號為i的可計算函數的複雜度不能介於t和{\displaystyle g\circ t}之間。

與加速定理的比較
--------

原始的間隙定理比上述定理更強：

設\Phi 是一個複雜度衡量。對任意滿足{\displaystyle g(x)\geq x}的全可計算函數g，都存在嚴格單調的全可計算函數t，令t和{\displaystyle g\circ t}限制下的程式**編號集**相等。
這裡的**編號**指的是\Phi 附帶的編號 (可計算性理論)。

由此可見，没有程式的複雜度在t和{\displaystyle g\circ t}之間。雖然能用複雜度{\displaystyle g\circ t}和複雜度t實現的程式的集合是一樣的，但這只對某些的充分大的t成立。因此，間隙定理與加速定理不同。

誠實性定理
-----

以不同的函數t為限，可以得到同一個複雜度類{\displaystyle \mathrm {C} (t)}。此種t稱為該複雜度類的**名**。時間階層定理和空間階層定理斷言，若限定複雜度類的名具有某種好性質（可構），則不會有太大的間隙。對抽象複雜度而言，也有類似的性質，稱為**誠實性**（honestness）。以具有此種性質的函數為名的複雜度類之間，並無間隙現象。函數**誠實**是指其計算複雜度與輸入和輸出相比不太大（用詞源自「函數的值誠實反映其複雜度」）。麥克雷特（E. M. McCraight）和邁耶（A. R. Meyer）證明，以可計算函數為名的複雜度類，總能改名為誠實函數，而不改變其實質。所以，間隙定理的實際源由，是複雜度類改壞名。

算子間隙定理
------

以{\displaystyle {\mathcal {P}}^{(1)}}表示（一元）可計算偏函數的類。映射{\displaystyle F:{\mathcal {P}}^{(1)}\to {\mathcal {P}}^{(1)}}稱為**可（有效）計算算子**，若存在全可計算函數S，使得{\displaystyle F\varphi \_{e}=\varphi \_{S(e)}}對所有e成立。此處{\displaystyle \varphi \_{e}}是編號為e的函數。若F將全函數映至全函數，則稱F**保全**。間隙定理可複述成：對於由{\displaystyle Gf=g\circ f}定義的可計算保全算子G，可找到t令t和{\displaystyle Gt}之間有間隙。羅伯特·李·康斯特勃（英语：）證明，同樣的結論對其他可計算保全算子也成立，即：

設\Phi 為抽象複雜度衡量，則對任意滿足{\displaystyle Ff\geq f}的可計算保全算子F，存在嚴格遞增的可計算全函數t，令以t和{\displaystyle Ft}為限的程式編號集相等。

參見
--

* 布盧姆加速定理

參考資料
----

1. ↑  Fortnow, Lance; Homer, Steve.  [計算複雜性簡史] (PDF). Bulletin of the European Association for Theoretical Computer Science. June 2003, (80): 95–133. （原始内容 (PDF)存档于2005-12-29） （英语）.
2. ↑  Trakhtenbrot, Boris A.  [算法與計算的複雜度（講義）]. Novosibirsk University. 1967.
3. ↑  Allan Borodin.  [遞歸函數的複雜度類與複雜度間隙的存在性]. Proc. of the 1st Annual ACM Symposium on Theory of Computing. 1969: 67–78 （英语）.
4. 1 2  Borodin, Allan.  [計算複雜度與複雜度間隙的存在性]. Journal of the ACM. January 1972, **19** (1): 158–174. doi:10.1145/321679.321691 （英语）.
5. ↑  Allender, Eric W.; Loui, Michael C.; Regan, Kenneth W. Gonzalez, Teofilo; Diaz-Herrera, Jorge; Tucker, Allen (编),  [計算手冊，第三版：電腦科學與軟件工程], CRC Press: 7–9, 2014  [2021-08-09], ISBN 9781439898529, （原始内容存档于2021-09-06） （英语）, Fortunately, the gap phenomenon cannot happen for time bounds *t* that anyone would ever be interested in .
6. ↑  Zimand, Marius,  [計算複雜度：定量觀點], North-Holland Mathematics Studies **196**, Elsevier: 42, 2004  [2021-08-09], ISBN 9780080476667, （原始内容存档于2021-09-04） （英语） .
7. ↑  Borodin, Allan B.  [計算複雜度與複雜度間隙的存在性]. Cornell University. 1969 （英语）.
8. ↑  R.Moll; A.R.Meyer.  [遞歸函數複雜度類的誠實界]. Journal of Symbolic Logic. 1974, **39** (1): 127–138 （英语）.
9. ↑  E. M. McCreight; A. R. Meyer.  [由計算的限制定義的可計算函數類：初步報告]. Proceedings of the first annual ACM symposium on Theory of computing. 1969: 79–88 （英语）.
10. ↑  Robert L. Constable.  [算子間隙]. IEEE Conference Record of 10th Annual Symposium on Switching and Automata Theory. 1969: 20–26 （英语）.