意味 基本再帰関数の定義は、原始再帰関数 の定義と同じですが、原始再帰が有界総和と有界積に置き換えられています。すべての関数は自然数 上で動作します。基本関数はすべて基本再帰関数であり、次のとおりです。
ゼロ関数 。ゼロを返します。f ( x ) = 0 {\displaystyle f(x)=0} 。後継関数 :f ( x ) = x + 1 {\displaystyle f(x)=x+1} 多くの場合、これは次のように表されます。S {\displaystyle S} 例えばS ( x ) {\displaystyle S(x)} 後続関数を繰り返し適用することで、加算を実現できる。射影関数 :これらは引数を無視するために使用されます。たとえば、f ( 1 、 b ) = 1 {\displaystyle f(a,b)=a} これは射影関数です。減算関数 :f ( x 、 y ) = 最大 ( x − y 、 0 ) {\displaystyle f(x,y)=\max(x-y,0)} この関数は、条件分岐と反復処理を定義するために使用されます。これらの基本関数から、他の基本的な再帰関数を構築することができる。
合成 :ある基本再帰関数の値を別の基本再帰関数の引数として適用すること。f {\displaystyle f} 組成として定義されるf ( x 1 、 … 、 x n ) = h ( g 1 ( x 1 、 … 、 x n ) 、 … 、 g m ( x 1 、 … 、 x n ) ) {\displaystyle f(x_{1},\ldots ,x_{n})=h{\bigl (}g_{1}(x_{1},\ldots ,x_{n}),\ldots ,g_{m}(x_{1},\ldots ,x_{n}){\bigr )}} 基本的な再帰である場合h {\displaystyle h} は基本的な再帰であり、それぞれg 私 {\displaystyle g_{i}} 基本的な再帰です。制限付き総和 :f ( m 、 x 1 、 … 、 x n ) = ∑ 私 = 0 m g ( 私 、 x 1 、 … 、 x n ) {\displaystyle f(m,x_{1},\ldots ,x_{n})=\sum \limits _{i=0}^{m}g(i,x_{1},\ldots ,x_{n})} 基本的な再帰である場合g {\displaystyle g} 基本的な再帰です。境界積 :f ( m 、 x 1 、 … 、 x n ) = ∏ 私 = 0 m g ( 私 、 x 1 、 … 、 x n ) {\displaystyle f(m,x_{1},\ldots ,x_{n})=\prod \limits _{i=0}^{m}g(i,x_{1},\ldots ,x_{n})} 基本的な再帰である場合g {\displaystyle g} 基本的な再帰です。
基本関数の重ね合わせ基底 計算可能性理論の文脈において、重ね合わせとは、 関数合成 によって既存の関数から新しい関数を構築する方法である。これにより、1つまたは複数の関数の出力を別の関数の入力として利用することが可能になる。
より厳密に言えば、次のような場合を想定します。
f ( x 1 、 … 、 x k ) {\displaystyle f(x_{1},\dots ,x_{k})} はk {\displaystyle k} 項関数、g 1 ( x 1 、 … 、 x n ) 、 … 、 g k ( x 1 、 … 、 x n ) {\displaystyle g_{1}(x_{1},\dots ,x_{n}),\dots ,g_{k}(x_{1},\dots ,x_{n})} はn {\displaystyle n} 引数関数。そしてこれらの関数の重ね合わせによって新しいn {\displaystyle n} -項関数:
h ( x 1 、 … 、 x n ) = f ( g 1 ( x 1 、 … 、 x n ) 、 … 、 g k ( x 1 、 … 、 x n ) ) {\displaystyle h(x_{1},\dots ,x_{n})=f(g_{1}(x_{1},\dots ,x_{n}),\dots ,g_{k}(x_{1},\dots ,x_{n}))} 。基本再帰関数のクラスは、射影関数と以下の初期関数セットのいずれかの重ね合わせによる閉包と一致する。
{ n + m 、 n − ˙ m 、 ⌊ n / m ⌋ 、 2 n } {\displaystyle \{n+m,\;n\mathbin {\dot {-}} m,\;\lfloor n/m\rfloor ,\;2^{n}\}} { n + m 、 n − ˙ m 、 ⌊ n / m ⌋ 、 n m 、 n m } {\displaystyle \{n+m,\;n\mathbin {\dot {-}} m,\;\lfloor n/m\rfloor ,\;nm,\;n^{m}\}} { n + m 、 n モジュール m 、 n 2 、 2 n } {\displaystyle \{n+m,\;n{\bmod {m}},\;n^{2},\;2^{n}\}} { n + m 、 n モジュール m 、 2 n } {\displaystyle \{n+m,\;n{\bmod {m}},\;2^{n}\}} [ 9 ] どこn − ˙ m = 最大 ( n − m 、 0 ) {\displaystyle n\mathbin {\dot {-}} m=\max(n-m,0)} 切り捨て減算(monus )を表します。
2025年、ミハイ・プルネスク、ロレンツォ・サウラス=アルトゥサラ、ジョセフ・M・シュニアは、カルマール基本関数のクラスが加算 から帰納的に生成できることを証明した(n + m {\displaystyle n+m} )、整数剰余 (n モジュール m {\displaystyle n{\bmod {m}}} )と2進法 (2 n {\displaystyle 2^{n}} )Mazzanti による以前の結果を改善した。彼らはさらに、これら 3 つの演算によって定義される置換基底が最小であることを証明した。未解決の問題は、{ n + m 、 ⌊ n / m ⌋ 、 2 n } {\displaystyle \{n+m,\;\lfloor n/m\rfloor ,\;2^{n}\}} これは代替的な根拠である。
例1 させて f ( 1 、 b ) = 1 モジュール b 、 g 1 ( n ) = 2 n + n 、 g 2 ( n ) = 2 n + n 。 {\displaystyle f(a,b)=a{\bmod {b}},\quad g_{1}(n)=2^{n+n},\quad g_{2}(n)=2^{n}+n\,.} 次に関数 h ( n ) = f ( g 1 ( n ) 、 g 2 ( n ) ) = 2 n + n モジュール ( 2 n + n ) {\displaystyle h(n)=f(g_{1}(n),g_{2}(n))=2^{n+n}{\bmod {(}}2^{n}+n)} 二乗関数を定義するh ( n ) = n 2 {\displaystyle h(n)=n^{2}} 重ね合わせのみによって。これは、明示的な再帰を必要とせずに、重ね合わせによって加算、整数の余り、および2進数のべき乗のみを使用して、平方などの関数を表現できることを示しています 。
例2 基本的な再帰関数のもう1つの例は、クロネッカーのデルタです。 δ 私 j = 2 ( 2 私 モジュール ( 2 j + 1 ) ) + ( 2 j モジュール ( 2 私 + 1 ) ) モジュール ( 2 私 + 2 j ) モジュール 2 、 {\displaystyle \delta _{ij}=2^{(2^{i}{\bmod {(}}2^{j}+1))+(2^{j}{\bmod {(}}2^{i}+1)){\bmod {(}}2^{i}+2^{j})}{\bmod {2}}\,,} これは以下を満たすδ 私 j = 1 {\displaystyle \delta _{ij}=1} もし私 = j {\displaystyle i=j} そして0 {\displaystyle 0} さもないと。
その他の例 x − ˙ y = ( ( 2 x + y + x ) モジュール ( 2 x + y + y ) ) モジュール ( 2 x + y + x ) {\displaystyle x\mathbin {\dot {-}} y=((2^{x+y}+x){\bmod {(}}2^{x+y}+y)){\bmod {(}}2^{x+y}+x)} [ 2 x y = ( x + y ) 2 − ˙ ( x 2 + y 2 ) {\displaystyle 2xy=(x+y)^{2}\mathbin {\dot {-}} (x^{2}+y^{2})} [ ⌊ x / y ⌋ = ( 2 ( x + 1 ) ( x − ˙ ( x モジュール y ) ) ) モジュール ( 2 ( x + 1 ) y − ˙ 1 ) {\displaystyle \lfloor x/y\rfloor =(2(x+1)(x\mathbin {\dot {-}} (x{\bmod {y}}))){\bmod {(}}2(x+1)y\mathbin {\dot {-}} 1)} [ x y = ⌊ 2 x y / 2 ⌋ {\displaystyle xy=\lfloor 2xy/2\rfloor } [ x y = 2 ( x y + x + 1 ) y モジュール ( 2 x y + x + 1 − ˙ x ) {\displaystyle x^{y}=2^{(xy+x+1)y}{\bmod {(}}2^{xy+x+1}\mathbin {\dot {-}} x)} [ 16 ]
参考文献 カルマール、ラスロー (1943)。「Egyszerű példa eldönthetetlen aritmetikai problémára」[ Ein einfaches Beispiel für ein unentscheidbares arithmetisches 問題] 。マテマティカイ エ フィジカイ ラポク (ハンガリー語)。50 .ブダペスト: 1–23 。ハンガリー語とドイツ語の要約。 Marchenkov, SS (1980). 「カルマル初等関数のクラスにおける重ね合わせ基底」.ソ連科学アカデミー数学ノート . 27 (3): 161– 166. doi : 10.1007/BF01140159 . ISSN 0001-4346 . Marchenkov, SS (2007年9月). 「初等算術関数の重ね合わせ」. Journal of Applied and Industrial Mathematics . 1 (3): 351–360 . doi : 10.1134/S1990478907030106 . ISSN 1990-4789 . Mazzanti, Stefano (2002). "原始再帰関数のクラスの平易な基底". Mathematical Logic Quarterly . 48 (1): 93–104 . doi : 10.1002/1521-3870(200201)48:1 < 93::AID-MALQ93 > 3.0.CO ; 2-8 . ISSN 0942-5616 . OCLC 5154649764 . Prunescu, Mihai; Sauras-Altuzarra, Lorenzo (2025年6月5日). 「算術項によるC再帰的整数列の表現について」. arXiv : 2405.04083 [ math.LO ]. プルネスク、ミハイ。サウラス・アルトゥサラ、ロレンツォ。シュニア、ジョセフ M. (2025 年 11 月 7 日)。 「カルマルの初等関数の最小置換基礎」。arXiv : 2505.23787 [ math.LO ]。 トゥーラキス、ジョージ( 2022)。計算可能性 。スイス、チャム:シュプリンガー。ISBN 978-3-030-83202-5 。Volkov, SA (2010). 「スコレム初等関数のクラスについて」応用・産業数学ジャーナル 4 (4): 588– 599. doi : 10.1134/S1990478910040149 . Volkov, Sergey (2016). "Finite Bases with Respect to the Superposition in Classes of Elementary Recursive Functions [dissertation]". arXiv : 1611.04843 [ cs.CC ].
外部リンク Lysikov, Vladimir (2025年9月7日). 「重ね合わせだけで、⟨x+y, x mod y, 2 x ⟩ からカルマール基本関数 x y を生成できるか?」 . Math Stack Exchange . 2025年9月8日 取得.