『数学基礎論 増補版』に書かれていた「半計算可能集合」という用語を検索したら「極限計算可能関数」という用語が出てきたので、「半計算可能集合」についても ChatGPT で調べてみます。
これらの概念はプログラミング言語の無限列を返す関数に使えそうですが、さらに適切な用語があるかもしれません。今後調査します。プログラミング言語の無名関数を返す関数は、帰納的関数なのかもしれませんが、無名関数から値を取得する関数として見ると帰納的関数ではないようです。
状態を持ち無限に動作するプログラムを、状態を持たないプログラムの列で表すことが目標なので、まずそれを調べていきます。
半計算可能集合とはどのようなものですか
と入力すると以下の結果となりました。
半計算可能集合とは
半計算可能集合(semi-decidable set,
集合)とは、チューリング機械を用いた計算理論の概念であり、次のように定義されます。
ある集合
(自然数の部分集合)が半計算可能であるとは、次のいずれかの同値な条件を満たすことを意味します:
1. 列挙可能性:
は、あるチューリング機械によってすべての要素を出力できる(ただし、順番は保証されない)。つまり、あるチューリング機械
が存在して、入力なしで動作し、無限に計算を続ける過程で、ちょうど
の要素すべてを(重複してもよい)出力する。
2. 半判定可能性: あるチューリング機械が存在して、
の要素
を入力すると停止して "YES" と出力し、
に含まれない要素
に対しては停止しないか、無限ループに陥る(明示的に "NO" を出すとは限らない)。
3. 存在量化による定義(算術階層):
は、次のような形の述語で定義できる:
ここで、は決定可能(すなわち、あるチューリング機械が有限時間で計算できる)な述語である。
半計算可能集合の特徴
- 決定可能集合(recursive set)は、あるチューリング機械によってYES/NO 両方が有限時間で判定できる集合のこと。決定可能集合は半計算可能であり、かつその補集合も半計算可能(共半計算可能, co-semi-decidable)。
- 一般には、半計算可能だが決定可能でない集合が存在する(例: 停止問題の集合)。
- 半計算可能集合の補集合が半計算可能であるとは限らない。



![計算理論の基礎[原著第3版] 1.オートマトンと言語 計算理論の基礎[原著第3版] 1.オートマトンと言語](https://m.media-amazon.com/images/I/515uGru3WwL._SL500_.jpg)
![計算理論の基礎[原著第3版] 2.計算可能性の理論 計算理論の基礎[原著第3版] 2.計算可能性の理論](https://m.media-amazon.com/images/I/51JgQoghkSL._SL500_.jpg)
![計算理論の基礎[原著第3版] 3.複雑さの理論 計算理論の基礎[原著第3版] 3.複雑さの理論](https://m.media-amazon.com/images/I/51-z+1sEEyL._SL500_.jpg)