型付きラムダ計算
型付きラムダ計算（）とは、無名の関数の抽象表現にラムダ (formula_1) というシンボルを用いる型付き形式手法である。型付きラムダ計算は基礎的なプログラミング言語でもあり、MLやHaskellなどの型付き関数型言語の基盤であり、さらには型付き命令型プログラミング言語の間接的な基盤とも言える。また、カリー・ハワード同型対応によって数理論理学と証明論とも密接に関連しており、圏論のクラスの内部言語と見なすこともできる。例えば単純な型付きラムダ計算はデカルト閉圏 (CCC) の言語である。

ある観点から見れば、型付きラムダ計算は型を持たないラムダ計算を改良したものと言えるが、別の観点からは、より根本的な理論と見ることもでき、型を持たないラムダ計算の方が型が1つしかない特殊ケースと見ることができる。

様々な型付きラムダ計算がこれまで研究されてきた。単純型付きラムダ計算はいくつかの基本型（または型変数）と関数型 formula_2 から成る。System T はこれを拡張し、自然数型と高階原始再帰を加えたものである。この系ではペアノ算術において全ての再帰する可能性のある関数が定義可能である。System F は、全ての型に対して全称量化を施すことでポリモーフィズムを実現している。これを論理学的に見れば、二階述語論理に属する全ての関数を記述できることを意味する。依存型のあるラムダ計算は直観主義的型理論の基盤であり、calculus of constructions や logical framework (LF) の基盤である。Berardi の成果に基づき Barendregt が提案したラムダ・キューブは、純粋な型付きラムダ計算（単純型付きラムダ計算、System F、LF、calculus of constructions など）の関係を体系化したものである。

一部の型付きラムダ計算には「派生型」の記法が導入されている。すなわち、formula_3 が formula_4 の派生型であるとき、型が formula_3 である全ての項は型が formula_4 でもある。派生型のある型付きラムダ計算は単に普通の型付きラムダ計算に結合型 (conjunctive type) と formula_7 (F-sub) を加えたものである。

以上の体系はすべて（型のないラムダ計算以外）、「強く正規化 (strongly normalizing)」する。すなわち、全ての計算は停止する。結果としてそれらは論理として一貫しており、uninhabited types がある。しかし、強く正規化しない型付きラムダ計算も存在する。全ての型の型 (Type : Type) を持つ依存型付きラムダ計算は Girard's paradox により正規化しない。この系は最も単純な純粋型システムでもあり、ラムダ・キューブを一般化した形式手法である。明示的な再帰コンビネータを持つ系（Gordon Plotkin の PCF など）も正規化しないが、論理体系として解釈されることを意図していない。実際、PCF (Programming language for Computable Functions) は型付き関数型プログラミング言語であり、型はプログラムが正しく動作することを保証する目的で使われているが、必ずしも停止を保証しない。

型付きラムダ計算はプログラミング言語の新たな型システムの設計で重要な役割を演じている。型付け可能性は一般にプログラミングの好ましい属性を捉え、例えば、プログラムがメモリアクセス違反を起こさないようにするといったことが考えられる。

プログラミングにおいて、強い型付けのプログラミング言語のルーチン（関数、プロシージャ、メソッド）は、型付きラムダ計算と密接に関連している。Eiffelには "inline agent" の記法があり、型付きラムダ式を直接定義して操作できる。例えば、agent (p: PERSON): STRING do Result := p.spouse.name end という式があるとき、これはある人 (person) の配偶者 (spouse) の名前を返す関数を表したオブジェクトを記述している。
Q1049183
形式手法
Concept
Q9143
プログラミング言語
Concept
Q860654
ML
MEDIA
Q34010
Haskell
MEDIA
Q193076
関数型言語
Concept
Q275596
命令型プログラミング
Concept
Q975734
カリー・ハワード同型対応
Concept
Q1166618
数理論理学
Concept
Q852732
証明論
Concept
Q217413
圏論
Concept
Q1725874
デカルト閉圏
Concept
Q242028
ラムダ計算
Concept
None
System T
UNK
Q842755
ペアノ算術
Concept
Q2552799
System F
ORG
Q126695
全称量化
Concept
Q3240252
ポリモーフィズム
Concept
Q1548746
二階述語論理
Concept
Q997433
依存型
Concept
None
直観主義的型理論
UNK
calculus of constructions
UNK
logical framework
UNK
Q2036661
ラムダ・キューブ
Concept
Q2713292
派生型
Concept
None
純粋型システム
UNK
Programming language for Computable Functions
UNK
Q80006
プログラミング
Concept
None
強い型付け
UNK
Q732089
Eiffel
MEDIA
Q2607208
型付きラムダ計算
Concept
Q2607208
型付きラムダ計算
Concept
Q2607208
型付きラムダ計算
Concept
Q2607208
型付きラムダ計算
Concept
Q2607208
型付きラムダ計算
Concept
Q2607208
型付きラムダ計算
Concept
Q2607208
型付きラムダ計算
Concept
Q2607208
型付きラムダ計算
Concept
Q2607208
型付きラムダ計算
Concept
Q2607208
型付きラムダ計算
Concept
Q2607208
型付きラムダ計算
Concept
Q2607208
型付きラムダ計算
Concept
Q2607208
型付きラムダ計算
Concept
Q2607208
型付きラムダ計算
Concept
Q2607208
型付きラムダ計算
Concept
2020-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
1
DATE
2020-01-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
1
DATE
2020-02-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
2
DATE
2020-03-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
3
DATE
2020-04-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
4
DATE
2020-03-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
3
DATE
2020-04-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
4
DATE
2020-07-01T00:00:00Z^^http://www.w3.org/2001/XMLSchema#dateTime
7
DATE
+1^^http://www.w3.org/2001/XMLSchema#decimal
1
NUMBER
+1^^http://www.w3.org/2001/XMLSchema#decimal
1
NUMBER
+2^^http://www.w3.org/2001/XMLSchema#decimal
2
NUMBER
+3^^http://www.w3.org/2001/XMLSchema#decimal
3
NUMBER
+4^^http://www.w3.org/2001/XMLSchema#decimal
4
NUMBER
+3^^http://www.w3.org/2001/XMLSchema#decimal
3
NUMBER
+4^^http://www.w3.org/2001/XMLSchema#decimal
4
NUMBER
+7^^http://www.w3.org/2001/XMLSchema#decimal
7
NUMBER
subclass of
use
instance of
instance of
instance of
instance of
studies
instance of
instance of
instance of
instance of
instance of
instance of
instance of
instance of
instance of
instance of
instance of
instance of
instance of
instance of
instance of
instance of
has quality
instance of
subclass of
subclass of
subclass of
subclass of
subclass of
subclass of
subclass of
subclass of
subclass of
subclass of
subclass of
subclass of
subclass of
subclass of