• 検索結果がありません。

第 2 章 ラムダ項の展開と BCK– ラムダ項における最短リダクション戦略 38

2.1.2 背景

ラムダ項の最長リダクション戦略については、図2.1に示すようにかなりのことが分かっている。図において斜線部 分は最長リダクション戦略が知られていることを表している。弱正規性(WN)を持たないラムダ項では、どのように リダクションを行っても正規形とはならないことから、全てのリダクション戦略が最長となる。弱正規性は持つが強 正規性を持たないラムダ項では、perpetualなリダクション戦略が無限のリダクションとなる、すなわち最長となるこ とが知られている([1]参照)。perpetualなリダクション戦略としては、Fやcall–by–value等がある。そして型付ラ ムダ項やラムダ項の展開でも、Fリダクション戦略が最長である([35],[36]参照)。つまり、今まで分かっているとこ ろでは、Fリダクション戦略が全ての場合において最長である。そのため、図2.1の空白部分でも、Fリダクショ ン戦略が最長となるのではないかと予想される。

F F

λ-Term

Typedλ Development WN

SN

All

Perpetual(F, Call-by-Value, etc.)

図2.1: 最長リダクション戦略

ここで、Fリダクション戦略を示しておこう。それは次のようなものである。

定義2.1.1 (Fリダクション戦略) Mを正規形ではないラムダ項とする。1ステップのFリダクション戦略の結果 をF(M)で表すとする。

1. M (λx.M1)M2のとき。

(a) x∈FV(M1)のとき。

F(M)[M2/x]M1 (b) x∈FV(M1)のとき。

i. M2が正規形でないとき。

F(M)(λx.M1)F(M2) ii. M2が正規形のき。

F(M)[M2/x]M1 2. M ≡λx.M1のとき。

F(M)≡λx.F(M1)

3. M ≡M1M2で、M1M2自身はレデックスでないとき。

(a) M1が正規形でないとき。

F(M)≡F(M1)(M2) (b) M1が正規形のき。

F(M)(M1)F(M2)

つまり、リダクションをしてラムダ項が消える場合には、代入項が正規形になってからそのレデックスをリダクショ ンするが、消えない場合には、そこからリダクションするという戦略である。

このとき最長リダクションに関する次の3つの定理が成り立つ。証明については、それぞれ[1],[35],[36] を参照の こと。

定理2.1.2 (perpetualな戦略) M を強正規性を持たないラムダ項とする。このとき、Fリダクション戦略は無限 列となる。

定理2.1.3 (ラムダ項の展開における最長リダクション戦略) Mλ項とする。このとき、βリダクションにおいて Fリダクション戦略は最長となる。

定理2.1.4 (型付きラムダ項における最長リダクション戦略) Mを型付きラムダ項とする。このとき、Fリダクショ

ン戦略は最長となる。

では、最短リダクション戦略はどうであろうか。[15]によれば次の定理がなりたつ。

定理2.1.5 最左完全並行リダクションは最短リダクションである。

最左完全並行リダクションは並行リダクションの一つであり、最左レデックスをリダクションするが、そのときにコ ピーされたレデックスも同時にリダクションするものである。この並行リダクションはリダクションを越えたもので あるが、最左完全並行リダクションでコピーが生じない場合はリダクションに一致する。すなわち次の系が直ちに成 り立つ。

2.1.6 BCK’–ラムダ項では最左リダクションが最短リダクションである。

ここでBCK’–ラムダ項は次のようなラムダ項である。

定義2.1.7 (BCK’–ラムダ項) 1. xが変数 xBCK–ラムダ項

2. M1, M2BCK–ラムダ⇒(M1M2)はBCK–ラムダ項

3. MBCK–ラムダ項でありxが変数で、xがM に高々1つしか自由出現しない (λx.M)はBCK–ラムダ項 すなわち、リダクションを行ってもラムダ項がコピーされないようなラムダ項である。

以上を図示すると図2.2になる。弱正規性を持たないラムダ項では、どのようにリダクションをしても正規形に辿り 着かないため、つまり全てのリダクション戦略が最短である。

λ-Term

Typedλ Development

leftmost

WN SN

All

BCK’

図2.2: 最短リダクション戦略

ラムダ項が弱正規性を持てば、幅優先探索により最短リダクション戦略を求めることは可能である。しかしながら、

その場合は実際にリダクションを行うかそれ以上の手間がかかり実効的1とはいえない。我々が欲しいのは実効的なリ ダクション戦略である。

1ここでいう実効的とは実際にリダクションを行うよりは簡単に見い出せるということである。[1]には「比較的簡単に」というあいまいな表現 で定義されている。

本章では、ラムダ項の展開において実効的な最短リダクション戦略を与える。同じ証明手法をBCK–ラムダ項に適 用し、BCK–ラムダ項に対する最短リダクション戦略の別証明を与える。

ドキュメント内 北陸先端科学技術大学院大学 毛利元彦 (ページ 43-46)