markdown
関数型プログラミングと型理論ポータルmd 0b9bb04
lecture/information/programming-languages/foundation/functional-programming-and-type-theory-portal.lecture.n.md
Download PDF

関数型かんすうがたプログラミングと型理論かたりろんポータル

date2026-07-14document_iddoc_84693fdcb572eef2b425f8904ac5159fdescription関数型プログラミングから無型λ計算、型理論、Curry–Howard対応へ進む学習順と、各段階で導入する概念を示す講義ポータルである。prerequisitesdata/lecture/information/programming/introduction-to-programming.lecture.n.mdtype講義statusactiverelateddata/lecture/information/information-engineering-portal.lecture.n.md / data/lecture/information/discrete-math/logic-and-truth-tables-basics.lecture.n.md / data/lecture/information/discrete-math/sets-and-maps-basics.lecture.n.md / data/lecture/information/algorithm/foundation/recursion-basics.lecture.n.md
portalinformationprogramming-languageslecture

1導入どうにゅう

このポータルでは、関数型かんすうがたプログラミングから無型むがたλ計算けいさん型付かたつきλ計算けいさん、Curry–Howard対応たいおうすす学習順がくしゅうじゅん説明せつめいする。計算規則けいさんきそく型規則かたきそく段階的だんかいてき導入どうにゅうし、ことなる体系たいけい主張しゅちょう混同こんどうしないことが目的もくてきである。

2学習順がくしゅうじゅん

  1. 関数型かんすうがたプログラミングの動機どうきとして、参照透過性さんしょうとうかせい第一級関数だいいちきゅうかんすう理解りかいする。
  2. 変数へんすう束縛そくばく自由変数じゆうへんすう定義ていぎする。
  3. 捕縛回避置換ほばくかいひちかんとα同値どうち定義ていぎする。
  4. 無型むがたλ計算けいさんのβ簡約かんやく正規形せいきけい評価戦略ひょうかせんりゃく学習がくしゅうする。
  5. そのにのみ型判断かたはんだん導入どうにゅうし、型付かたつきλ計算けいさん学習がくしゅうする。

現時点げんじてん本系列ほんけいれつ実装じっそうされているのはだい4段階だんかいまでである。だい5段階だんかい今後こんご講義こうぎあつか予定よていである。

data/lecture/information/programming-languages/foundation/introduction-to-functional-programming.lecture.n.md data/lecture/information/programming-languages/foundation/variable-binding-and-free-variables-basics.lecture.n.md data/lecture/information/programming-languages/foundation/substitution-and-alpha-equivalence-basics.lecture.n.md data/lecture/information/programming-languages/lambda-calculus/lambda-calculus-basics.lecture.n.md

3体系たいけい境界きょうかい

無型むがたλ計算けいさんこうには型注釈かたちゅうしゃくがなく、Ω のように停止ていししないこう記述きじゅつできる。単純型付たんじゅんかたつきλ計算けいさんでは型判断かたはんだん追加ついかし、型付かたつ可能かのうこう制限せいげんする。したがって、無型むがたこう型安全性かたあんぜんせい仮定かていしたり、単純型付たんじゅんかたつきの停止性ていしせい無型むがた全項ぜんこう適用てきようしたりしてはならない。

4論理ろんりへの接続せつぞく

型付かたつきλ計算けいさん導入どうにゅうしたあとかた命題めいだいこう証明しょうめいとして解釈かいしゃくするCurry–Howard対応たいおうすすむ。論理結合子ろんりけつごうし集合しゅうごう写像しゃぞうは、その数学的すうがくてき前提ぜんていである。

data/lecture/information/discrete-math/logic-and-truth-tables-basics.lecture.n.md data/lecture/information/discrete-math/sets-and-maps-basics.lecture.n.md

5まとめ

本系列ほんけいれつでは、束縛そくばく置換ちかん確立かくりつしてから無型むがたλ計算けいさん導入どうにゅうし、そのかた論理ろんり関係かんけいあつかう。

Functional Programming and Type Theory Portal

1Introduction

This portal presents a learning sequence from functional programming through the untyped lambda calculus and typed lambda calculi to the Curry–Howard correspondence. It introduces computational rules and typing rules in separate stages so that claims about distinct calculi are not conflated.

2Learning sequence

  1. Understand referential transparency and first-class functions as motivations for functional programming.
  2. Define variable binding and free variables.
  3. Define capture-avoiding substitution and alpha-equivalence.
  4. Study beta-reduction, normal forms, and evaluation strategies in the untyped lambda calculus.
  5. Only then introduce typing judgments and study typed lambda calculi.

At present, this sequence implements only stages 1 through 4. Stage 5 is planned for future lectures.

data/lecture/information/programming-languages/foundation/introduction-to-functional-programming.lecture.n.md data/lecture/information/programming-languages/foundation/variable-binding-and-free-variables-basics.lecture.n.md data/lecture/information/programming-languages/foundation/substitution-and-alpha-equivalence-basics.lecture.n.md data/lecture/information/programming-languages/lambda-calculus/lambda-calculus-basics.lecture.n.md

3Boundaries between calculi

Terms of the untyped lambda calculus have no type annotations, and the calculus can express nonterminating terms such as Ω. The simply typed lambda calculus adds typing judgments and restricts attention to typable terms. Consequently, one must neither assume type safety for untyped terms nor extend termination results for the simply typed calculus to all untyped terms.

4Connection to logic

After typed lambda calculi have been introduced, the sequence proceeds to the Curry–Howard correspondence, which interprets types as propositions and terms as proofs. Logical connectives, sets, and maps provide the mathematical prerequisites for that interpretation.

data/lecture/information/discrete-math/logic-and-truth-tables-basics.lecture.n.md data/lecture/information/discrete-math/sets-and-maps-basics.lecture.n.md

5Summary

This sequence establishes binding and substitution before introducing the untyped lambda calculus, and it addresses the relationship between types and logic only afterward.

raw .n.md をコピー
loc をコピー (filepath:line ~ line)
copy share link
copy encoded share link
path をコピー
copy share link
copy encoded share link
copy share link
copy encoded share link
タブを全て閉じる