単元一覧 › 大学院数学 計算理論・ラムダ計算

計算理論・ラムダ計算の問題

難易度 2大学院の講義の演習問題レベル大学院数学 計算理論・ラムダ計算

原子型として ただ 1 つをもち、定数をもたない単純型付きラムダ計算(チャーチ流)を考える。型は で生成される式とし、括弧の付け方(木としての形)が異なる型は異なる型とみなす。型 が住人をもつとは、型 の閉じた項(自由変数をもたない項)が存在することをいう。

矢印 をちょうど 個含む型(したがって をちょうど 個含む型)のうち、住人をもつものの個数を求めよ。

この問題で使うもの

この問題を解けるようになるまで(9 技能)
算数中学高校大学大学院

読み込み中…

右端(太枠)がこの問題で使う技能です。左へドラッグすると、さらに前の前提をさかのぼれます。技能を押すと、そこまでの道筋が光ります。

一覧で見る(前提が先)
  1. β 簡約と β 正規形
  2. 樹形図で数え上げる
  3. 積の法則と和の法則
  4. 和の法則・積の法則と樹形図
  5. 順列・円順列・重複順列
  6. 組合せ
  7. カタラン数
  8. 単純型付けと型の数え上げ
  9. 型の住人(η 長 β 正規形)の数え上げ

ヒント

行き詰まったら、上から順に 1 つずつ開いてください。

ヒント 1

型 が住人をもつかどうかが、 と が住人をもつかどうかだけで決まることを示しましょう。原子型 自身は住人をもちません。

ヒント 2

「 が住人をもつ」か「 と がともに住人をもつ」のどちらかが成り立つことを帰納法で示すと、 が住人をもつのは「 が住人をもつ、または が住人をもたない」ときだとわかります。

ヒント 3

矢印 個の型のうち住人をもたないものの個数を 、もつものを とすると、、、(カタラン数)です。 と順に計算します。

答えと解説

答えを見る
結果を記録する(このブラウザにだけ保存されます):
解説を読む

住人をもつための条件. 次の主張を型の構成に関する帰納法で示す。

> 任意の型 について、「 が住人をもつ」か「型 と型 がともに住人をもつ」のどちらか一方がちょうど成り立つ。

まず、両方が同時に成り立つことはない。もし と が閉じた項なら は型 の閉じた項になるが、単純型付きラムダ計算は強正規化性をもつので、その 正規形は型 の閉じた正規形である。閉じた正規形は抽象 の形か、変数を先頭にもつ の形だが、前者の型は矢印型であり、後者は閉じていないので、型 の閉じた正規形は存在しない。よって は住人をもたず、矛盾。

少なくとも一方が成り立つことを帰納法で示す。 のときは が の住人なので後者が成り立つ。 のとき、帰納法の仮定を に使う。
- が住人 をもつ場合: が の住人。
- が住人をもたず、 も住人をもたない場合: 閉じた項 と があるので、 が の住人。
- が住人をもたず、 が住人 をもつ場合: 閉じた項 , を使うと、、 となり後者が成り立つ。

以上より、次がわかる。

つまり、 を「偽」、住人をもつことを「真」と読むと、 は含意の真理値表に従う。

数え上げ. 矢印を 個含む型(葉が 個の二分木)全体の個数はカタラン数 である。そのうち住人をもつもの・もたないものの個数を とする()。 が住人をもたないのは「 が住人をもち、 が住人をもたない」ときに限るので、 の矢印の個数を 、 の矢印の個数を ()として

  • : , ,
  • : ,
  • : ,
  • : ,
  • : ,
  • : ,

したがって求める個数は である。

別解

カリー・ハワード対応により、型が住人をもつことは、その型を含意のみの直観主義命題論理の論理式(命題変数は だけ)とみて証明可能であることと同値である。

命題変数が 1 つ のとき、含意のみの論理式は直観主義論理で か ()のどちらかと同値になる。実際 、、、 より、 の値は
- の値が かつ の値が のとき
- それ以外( が 、または も も )のとき
である。住人をもつ型 値が の型。

矢印をちょうど 個含む型の総数は、カタラン数 ()。値が (住人をもたない)の個数を 、住人をもつ個数を とする。(型 )、 では ( が住人をもち、 が住人をもたない場合)。

  • :
  • :
  • :
  • :
  • :
  • :

検算: で住人をもたない型は のみ( は が住人)で に合う。 では のみが住人をもたない(ここで の が値 なので …)ように見えるが、定義どおり が住人をもち の型 を とした ではなく、、 すなわち が唯一の住人をもたない型で、。

よって求める個数は 。

この問題の確認

AI が作成した問題です。公開前に次の確認を行いました。確認の方法について

間違いを報告する

この問題の誤り・分かりにくい点・難易度や学年のずれを知らせる
どこについての報告ですか

報告の内容と問題の番号を保存します。名前やメールアドレスは保存しません。

関連する問題