部分的な回答をします。他の人が空白を埋めてくれることを願っています。
型付きで -calculi、1は、データの通常の表現にタイプ(与える可能性があり教会(単項)整数の、バイナリ文字列のため、ブール用)と不思議何を型付き用語で表現可能/決定可能な機能/問題の複雑さです。正確な回答を知っているのは一部の場合だけであり、単純にタイプされた場合は、「表現可能/決定可能」を定義するときに使用される規則に依存します。とにかく、二重の指数関数的な上限があるケースは知りません。N A T S T R B O O LλNatStrBool
最初に、ラムダキューブの簡単な要約。その8つの計算は、単純に型付けされた -calculus(STLC)の次の3種類の依存関係を有効または無効にすることによって取得されます。λ
- 多態性:用語は型に依存する場合があります。
- 依存型:型は用語に依存する場合があります。
- 高次:タイプはタイプに依存する場合があります。
(用語の用語への依存性は常に存在します)。
ポリモーフィズムを追加すると、システムFが生成されます。ここでは、で教会の整数を入力できます。Girardは、タイプ System Fの項が、2次のPeano算術で全体が証明可能な数値関数を正確に表すことを証明しました。それはほとんど毎日の数学です(選択の形式はありませんが)ので、クラスは巨大です。アッカーマン関数はその中の小さな微生物の一種であり、関数は言うまでもありませんN T → N T 2 2 N β N A T S T R S T R → B O O LNat:=∀X.(X→X)→X→XNat→Nat22n。System Fで表現できない「自然な」数値関数は知りません。例は通常、対角化、または2次PAの一貫性のエンコード、または他の自己参照トリック( -equalityの決定など)システムF自体)。もちろん、システムFでは、単項整数とそのバイナリ表現間で変換を行い、最初のビットが1かどうかをテストできるため、決定可能な問題のクラス(型)も同様に巨大です。βNatStrStr→Bool
したがって、多型を含むラムダキューブの他の3つの計算は、少なくともシステムFと同じくらい表現力があります。これらには、システムF(多型+高次)が含まれます。構造の計算(CoC)。これは、キューブの最も表現力のある計算です(すべての依存関係が有効になっています)。算術理論または集合理論の観点からCoCの表現力の特徴を知りませんが、かなり恐ろしいに違いありません:-)ω
依存型(本質的には等価と自然数のないMartin-Löf型理論)、高次型、またはその両方を有効にすることで得られる計算に関しては、私はもっと無知です。これらの計算では、型は強力ですが、用語はこの力にアクセスできないため、何が得られるのかわかりません。計算上、単純な型よりもはるかに表現力が増すとは思わないが、私は間違っているかもしれない。
したがって、STLCが残っています。私の知る限り、これは興味深い(つまり、巨大なほどではない)複雑度の上限を持つCubeの唯一の計算です。TCS.SEにはこれに関する未回答の質問があり、実際、状況は少し微妙です。
最初に、アトムを修正してを定義すると、Schwichtenbergの結果があります(ウェブ上のどこかにその論文の英語訳があるのは知っていますが、今は見つかりません)、型の関数は(if-then-elseを使用した)拡張多項式であることがわかります。「スラック」を許可する場合、つまりパラメーターを自由にインスタンス化できるようにし、タイプを考慮する場合N T:= (X → X )→ X → X N T → N T X N T [ A ] → N T A N T [ A ] → N T [ A ' ] → N トンXNat:=(X→X)→X→XNat→NatXNat[A]→NatA任意、さらに多くを表現できます。たとえば、指数関数の塔(2倍の指数関数をはるかに超える可能性があります)と先行関数はありますが、減算は行われません(バイナリ関数を検討し、入力しようとした場合))。したがって、STLCで表現可能な数値関数のクラスは少し奇妙で、基本関数の厳密なサブセットですが、よく知られているものには対応していません。Nat[A]→Nat[A′]→Nat
上記と明らかに矛盾する、Mairsonによるこの論文は、任意のチューリングマシンの遷移関数をエンコードする方法を示しており、そこから項を取得します(依存する一部のタイプ場合)入力としてChurch整数を与えると、の形式の多数のステップの固定初期構成から始まるの実行をシミュレートします
タワーの高さを固定。これはしませんN a t [ A ] → B o o l A M n M 2 2 ⋮ 2 n、S t r M MMNat[A]→BoolAMnM
22⋮2n,
STLCでは、の入力を表すバイナリ文字列(型)をMairsonのの構成を表すために使用される型に変換する方法がないため、すべての基本問題がSTLCによって決定可能であることを示すエンコーディング。そのため、エンコーディングはなんらかの「不均一」です。各入力に個別の用語を使用して、固定入力から要素的に長い実行をシミュレートできますが、任意の入力を処理する用語はありません。
StrMM
実際、STLCは「均一に」決定できるものが非常に弱いです。、いくつかのに対してタイプ単純に型付けされた用語で決定できる言語のクラスと呼びましょう(上記のように、タイピング)。私の知る限り、正確な特性評価はありません。ただし、(確定的線形時間)であることはわかっています。封じ込めとそれが厳密であるという事実の両方は、非常にきちんとしたセマンティック引数によって示される可能性があります(有限集合のカテゴリでのSTLCの標準の表示セマンティクスを使用)。前者は最近照井によって示されました SとTをR [A]→ B O O L A C S T C S T ⊊ L I N T L I N T I M E ∖ C S TCSTStr[A]→BoolACSTCST⊊LINTIME。後者は基本的に、スタットマンの古い結果の再定式化です。の問題の例はMAJORITYです(バイナリ文字列が与えられ、0よりも厳密に1が含まれているかどうかを判断します)。LINTIME∖CST
(かなり)後のアドオン:上記のと呼ぶクラスは実際には正確な特性評価を行っていることがわかりました。で、この美しい1996紙、HillebrandとKanellakisは、とりわけ、証明することCST
定理。 (通常言語)。 {0、1}CST=REG{0,1}
(これは彼らの論文の定理3.4です)。
私はこれを二重に驚かします:結果自体(が「ニート」に対応する可能性があることは私には決してありませんでした)と、それがほとんど知られていないことに驚いています。また、上限のの証明が、HillebrandおよびKanellakisで使用されているのと同じ方法を使用していることも面白いです(有限集合のカテゴリで単純に型付けされた -calculusを解釈します)。言い換えれば、が「奇妙な」クラスであることに私たちが何らかの形で満足しているという事実がない限り、照井(および私自身)はこの結果を簡単に再発見できたはずです:-) L I N T I M E λ C S TCSTLINTIMEλCST
(ちなみに、「未知の定理」に関するMOの質問へのこの回答で驚きを共有しました)。