數論函數的一種,其定義域與值域都是自然數集,隻是由於構作函數方法的不同而有別於其他的函數。處處有定義的函數叫做全函數,未必處處有定義的函數叫做部分函數。最簡單又最基本的函數有三個:零函數O(x)=0(其值恒為0);射影函數
![](/img3/3364.gif)
代入(又名復合或疊置)是最簡單又最重要的造新函數的算子,其一般形狀是:由一個m元函數f與m個n元函數g1,g2,…,gm造成新函數f(g1(x1,x2,…,xn),g2(x1,x2,…,xn),…,gm(x1,x2,…,xn)),亦可記為f(g1,g2,…,gm)(x1,x2,…,xn)。另一個造新函數的算子是原始遞歸式。具有n個參數u1,u2,…,un的原始遞歸式為:
![](/img3/3365.gif)
![](/img3/3366.gif)
由初始函數出發,經過有限次的代入與原始遞歸式而作出的函數叫做原始遞歸函數。由於初始函數顯然是全函數且可計算,故原始遞歸函數都是全函數且可計算。通常使用的數論函數全是原始遞歸函數,可見原始遞歸函數是包括很廣的。但是W.阿克曼證明瞭,可以作出一個可計算的全函數,它不是原始遞歸的。經過後人改進後,這個函數可寫為如下定義的阿克曼函數:
![](/img3/3367.gif)
另一個重要的造新函數的算子是造逆函數的算子,例如,由加法而造減法,由乘法造除法等。一般,設已有函數f(u,x),就x解方程f(u,x)=t,可得x=g(u,t)。這時函數g叫做f的逆函數。至於解一般方程f(u,t,x)=0而得x=g(u,t)可以看作求逆函數的推廣。解方程可以看作使用求根算子。f(u,t,x)=0的最小x根(如果有根的話),記為μx[f(u,t,x)=0]。當方程沒有根時,則認為μx[f(u,t,x)=0]沒有定義。可見,即使f(u,t,x)處處有定義且可計算,但使用求根算子後所得的函數μx[f(u,t,x)=0]仍不是全函數,可為部分函數。但隻要它有定義,那就必然可以計算。這算子稱為μ算子。如果f(u,t,x)本身便是部分函數,則μx[f(u,t,x)=0]的意義是:當f(u,t,n)可計算且其值為0,而x<n時f(u,t,x)均可計算而其值非0,則μx[f(u,t,x)=0]指n;其他情況則作為無定義。例如,如果f(u,t,x)=0根本沒有根,或者雖然知道有一根為n,但f(u,t,n-1)不可計算,那麼μx[f(u,t,x)=0]都作為沒有定義。在這樣定義後,隻要μx[f(u,t,x)=0]有值便必可計算。由初始函數出發,經過有窮次使用代入、原始遞歸式與μ算子而作成的函數叫做部分遞歸函數,處處有定義的部分遞歸函數稱為全遞歸函數,或一般遞歸函數。
原始遞歸函數類裡還有一個重要的子類稱為初等函數類,它是由非負整數與變元經過有窮次加、算術減(即|α-b|)、乘、算術除
![](/img3/3368.gif)
波蘭人A.格熱高契克把原始遞歸函數類按定義的復雜程度來分類,稱為格熱高契克分層或波蘭分層。
要把遞歸函數應用於謂詞,首先要定義謂詞的特征函數。謂詞R(x,y)的特征函數是
![](/img3/3369.gif)
![](/img3/3370.gif)
遞歸函數也可以用來處理符號串。處理的辦法是對符號及符號串配以自然數。這方法是K.哥德爾開始引進的,因此稱為哥德爾配數法。例如,在要處理的符號系統{α1,α2,α3,…}中,可以用奇數1,3,5,7,…作為α1,α2,α3,α4,…的配數,符號串
![](/img3/3371.gif)
![](/img3/3372.gif)