純粋なラムダ計算のクインの例をお願いします。グーグルで見つけることができなかったことに非常に驚いた。馬のページには、多くの「実際の」言語のクインがリストされていますが、ラムダ計算のクインはリストされていません。
もちろん、これはラムダ計算のクインによって私が意味することを定義することを意味します。(私は非常に具体的な何かを求めています。)
Larkin and Stocks(2004)などのいくつかの場所では、「自己複製」式として引用されている次のように見えます:。これは、単一のベータ削減ステップの後、それ自体に還元され、なんとなく馬鹿げた感じを与えます。しかし、それは終了しないという点で非ウマのようなものです:さらなるベータ削減は同じ表現を生成し続けるので、通常の形式に決して縮小しません。私にとっては、クインはそれ自体を終了して出力するプログラムなので、そのプロパティを持つラムダ式が必要です。
もちろん、redexesを含まない式はすでに通常の形式になっているため、終了して出力されます。しかし、それはあまりにも簡単です。だから、私はそれが重要な解決策を認めることを期待して、次の定義を提案します:
定義(仮):ラムダ計算のクインは、ような形式の式です (は特定のラムダ計算式を表します)なる、または、正常形に還元変数名の変更、下にそれと同等のものの任意の入力。
ラムダ計算が他の言語と同等のチューリングであるとすれば、これは可能だと思われますが、私のラムダ計算は錆びているので、例を考えることはできません。
参照
ジェームズ・ラーキンとフィル・ストックス。(2004)「ラムダ計算における自己複製式」情報技術の研究と実践の会議、26(1)、167-173。 http://epublications.bond.edu.au/infotech_pubs/158