チューリングマシンでタイピングは何に対応しますか?


8

私の質問が理にかなっているといいのですが、型付けされていない微積分は、チューリングマシンと同等の能力であるという前提から始めて、チューリングマシンで微積分に型を追加することは何に対応しますか?静的でも動的でも、タイピングに似たオートマトンのようなものはありますか?λλ


3
TMが -calculusに対応しているという単純な考えをあきらめることをお勧めします。それは誤解を招くものです。Church-Turingの論文では、すべての合理的な計算フレームワーク間のエンコーディングを見つけることができます。TMは、コンウェイの生命ゲームやセミチューシステム、プロローグや...よりも -calculusに対応していません。これらすべてのシステム間のエンコーディングを見つけることができます。エンコーディングにはプロパティ(構成性など)があるか、またはありません。特定のアプリケーションでは、それが良いこともあれば、そうでないこともあります。λλ
Martin Berger

1
それがそれほど誤解を招くものであるならば、人々(特に教授)はそれを強調するのをやめるべきではないでしょうか?これは、コンピュータサイエンスにおいて重要な、確かに、基盤となる結果であると思われるので、なぜ2つのシステム間の他の接続を求め、期待してはならないのでしょうか。
BlueBomber 2013

@BlueBomber、これは歴史的な理由から重要/基礎的です。これらは、計算を形式化する「正しい」方法が何であるかがわからなかったときに、( -recursion とともに)計算の主要な形式化の2つでした。。したがって、それぞれが他方をシミュレートできるという事実を発見することは大したことでした。ただし、これは、他の2つの計算の形式化よりも特別な接続があることを必ずしも意味しません。μ
usul 2013

回答:


4

オートマトンについて直接答えることはできませんが、数値に関する関数についてはです。

型指定されていないラムダ計算は、再帰関数に対応していますμ

型付きシステムの場合、システムによって当然異なります。

興味深いものは、システムFです。これは、多形ラムダ計算としても知られています。という定理があります

関数(自然数)は、関数が合計であることを2次ペアノ演算で証明できる場合にのみ、システムFで表現できます。

つまり、システムFでは、基本的に考えられるすべての合計関数を表現できます。

少し弱いシステム、ゲーデルのシステムTがあります。これには、1次ペアノ演算の非常によく似た定理があります。(ただし、このシステムはシステムFほど優れていません。システムFでは、自然数、ブール値などをネイティブに表すことができます。一方、システムTは、単純に型付けされたラムダ計算として外部から追加されたナチュラルおよびブール値として構築されます。また、システムFにはタイプ多型があります。 、多くの場合それをはるかにエレガントにします。)

以下も参照してください。


2

タイピングマシンでは、タイピングは何にも対応していません。ここに私の推論があります。タイピングは実際には計算とは関係なく、Turing Machinesは計算のみをモデル化します。

ほとんどの場合、プログラムのタイプは実際にはそのプログラムの実行方法に影響を与えません。むしろ、これらは2つの理由のいずれかで使用されるコンパイル時のツールです。1つは、型が正しくないプログラムをコンパイルしないようにすることです。これは純粋にコンパイル時の操作であり、結果の計算の実行方法には影響しません。

2つ目は、複数の関数に同じ名前を付けることです。これは、基礎となる計算に実際に影響を与えているのではなく、理解しやすい方法でプログラムを記述できるようにしているだけです。

型は計算のツールではありません。これらは、証明、プログラムの理解、理解しやすい方法での構造化に使用できますが、それらの存在は、計算を実行する基本的な方法を変更しません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.