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

$\lambda$ + 項の値の上限について(数理論理学とその応用)

N/A
N/A
Protected

Academic year: 2021

シェア "$\lambda$ + 項の値の上限について(数理論理学とその応用)"

Copied!
10
0
0

読み込み中.... (全文を見る)

全文

(1)

$\lambda+$ 項の値の上限について 東北大学工学研究科 竹内 泉 (Takeuti, Izumi)

1

$\lambda+$ 項 $\lambda+$ 項は、 型付 $\lambda$ 計算の部分体系であ り、 型付 $\lambda$ 項の $\beta$ 変 換列の長さの上限を与える際に有用である。 [参考文献 1] $\lambda+$ 項は型付 $\lambda$ 項に次のような制限を加えたものとして定 義される。

.

原子型は $\omega$ のみ。

.

型の構成子は $\supset$ のみ。

.

原子定項は $0\in\omega$ 、 $s\in\omega\supset\omega$ 、 $+\in\omega\supset\omega\supset\omega$ のみ。

.

変数は各型に対し十分に多くある。

.

計算規則は、 $a$ 同値、 $\beta$ 同値、 $\eta$ 同値に加えて、 次のもの

がある。

$+0t=+t0=t$

$+(st)u=+t(su)=s(+tu)$

$+tu=+ut$

$+(+tu)v=+t(+uv)$ $\bullet$ シュビ ッ テンベルクの上界 型付 $\lambda$ 項の正規化可能性 [参考文献 3] により、 型が $\omega$ で

(2)

ある $\lambda+$ 項はある数を表す。 項の構文上の複雑さから項の値に上界を与えることは重要 である。 シュビッテンベルクはこの問題に於いてある上界を 与えた。 シュビ ッ テンベルクの上界を説明する為に、 クヌスの記号 $\uparrow\uparrow$ を紹介する $0$ これは二項演算であって、 次のように定義 する。 $x\uparrow$ $\uparrow 0$ : $=1$

$x\uparrow$ $\uparrow n+1$

:

$=x^{X}\uparrow\uparrow n$

普通の記号に依れば

$x\uparrow\uparrow n=x^{x}$

}

$n$

$n$ を固定して $xarrow x+2\uparrow\uparrow n$ という函数を考えると、 これ

は初等函数であ り、 函数列 $\{xarrow x+2\uparrow\uparrow n\}_{n=0,1},\cdots$ は初等函数

の中で共終である。 シュビッテンベルクは型が $\omega$ である任意の閉 $\lambda+$ 項 $t$ に対 して、 項の値を $\mathbb{I}tJ$ 、 項の長さを $l$ 、 現れる変数の階級の最 高のものを $q$ で表すと、

[

$t$

I

は $l+2\uparrow\uparrow 2q$ 程度で圧さえられ ることを示した。 [参考文献 2] ここでは、 $3l\uparrow\uparrow q+2$ で圧さえられることを示す。

2

項と型

(3)

$\bullet$ 長さ、 階級、 位数

型と項に対して、 長さ $length[]$ 、 階級

rank

$[]$ 、 位数 $\circ rder[]$

を定義する。

$length[\omega]$ $:=1$

$length[T\supset U]$

$:=length[T]+length[U]$

X

が型 $T$ の原子項な らば

$length[X ]:=length[T]$

$length[\lambda x.X]$ $:=length[X]$

$length$

[

XY]

$:=length[X]+length[Y]$

$rank[\omega]$ $:=0$

$rank[T\supset U]$ $:= \max\{rank[T]+1, rank[U]\}$ $x\in T$ ならば

$rank[X|:=rank[T]$

$order[\omega]$ $:=0$

$order[T\supset U]$

$:=order[U]+1$

$X\in T$

Zit

ら $a^{\backslash }$ $order[X]$

$:=\circ rder[T]$ $\bullet$ 意味論 型が $\omega$ である閉項は整数を表す。 数 $n$ を表す項 $s(s(\cdots s(s0)\cdots))$ $-$ $s$ が $n$ を $\overline{n}$ と書く。 そうすると、 型 $\omega$ の閉項 $t$ に対してある数 $n$ が あって 、 $t=\overline{n}$ となる。 この $n$ を

[

$t$

I

と書く。 すなわち $t=\overline{n}$ $\Leftrightarrow$

$n=[t$

I

$\bullet$ 整数の表す型

(4)

整数に依ってある一連の型を表す。 $0$ : $=\omega$

$n+1$ :

$=n\supset n$ これは単なる略記であって、 数と型を同じと見倣すものでは ない。

3

順序 同じ型をした閉項の問に部分順序関係を定義する。 定義は、 型の複雑さ に関する帰納法で行なう。

型 $\omega$ に対しては、

X

$\leqq Y\Leftrightarrow[xI\leqq[YJ$

X, $Y\in\prime r\supset u$ に対しては、

X

$\leqq Y$ $\Leftrightarrow$ 型 $T$ の任意の閉項 $Z$ に対し、

X

$Z\leqq YZ$ 一般の項に対しても、 同じ型の項の問に同様の部分順序を 定義する。 今度は、 『 \leqq の両辺に含まれる自由変数の数の 帰納法に依り行なう。 $X$ , $Y$ は同じ型の項で、 $x$ はどちらかに自由変数として含

まれる変数である時、 $X\leqq Y$ $\Leftrightarrow$ $\lambda x.X\leqq\lambda x.Y$

この定義は次を意味する。 ここで $\ddot{u}$ は

X

、 $Y$ に含まれる自 由変数を全て列べたものである。

X

$\leqq Y$ $\Leftrightarrow$ $uarrow$ と型が適合する任意の閉項の列 $\ddot{Z}$ に対し、 $X[\vec{Z}/uarrow]\leqq Y[\vec{Z}/uarrow]$

(5)

この時 $X[\dot{\vec{Z}}/uarrow]$ と $Y[\dot{\tilde{Z}}/\overline{u}’]$ は閉項になる。 次の命題が成り立つ。 項 $X\in T\supset U$ 、 $Y,Z\in T$ に対して $Y\leqq Z$ $\Rightarrow$ $XY\leqq XZ$

項 X,Y $\in T\supset U$

、 $Z\in T$ に対して

X

$\leqq Y$

$\Rightarrow$

XZ

$\leqq$

YZ

変数 $x$ と項 X,$Y$ に対して $X\leqq Y$ $\Rightarrow$ $\lambda x.X\leqq\lambda x.Y$

4

定項 $\bullet|$ 、 $0$ 、 $+$ 型 $T$ に対して $|^{T\supset T}$ $:=\lambda x^{T}.x^{T}$ 型 $T$ に対して$O^{T}$ $O^{\omega}$ $:=0$

$O^{T\supset U}$ $:=\lambda x^{T}.O^{U}$

型 $T$ に対して$+\tau\in T\supset T\supset T$

$+_{\omega}$ $:=+$ $+\tau\supset U$ $:=\lambda_{X}+(xz)(yz)$ 以降、 $+$ はある型 $T$ に対する $+\tau$を表し、 必ずしも $+_{\omega}$ を表さ ない。 $\bullet P$ 、 $Q$ 、 $R$ 、 $M$ 整数 $n\geqq 1$ に対して

(6)

$P_{n}$ $:=\lambda ux_{n-2}\cdots x_{0}y_{n-2}\cdots y_{0}.u(+x_{n-2}y_{n-2})\cdots(+x_{0}y_{0})$

次が成り立つ。

$P_{1}=|$

整数 $n\geqq 2$ に対して

$Q^{n}$ $:=\lambda uvx_{n-3}\cdots x_{0}$

.

$u(P_{n-1}vx_{n-3}\cdots x_{0})$

$(P_{n-2}(vx_{n-3})x_{n-4}\cdots x_{0})$ $(P_{2}(vx_{n-3}\cdots x_{1})x_{0})$ $(vx_{n-3}\cdots x_{0})$ 次が成り立つ。 $Q^{2}=|$ 整数 $n\geqq 2$ に対して $R^{2}$ $:=|$

$R^{n}:=\lambda uvw.Q^{n-1}(uv)(uvw)$ $-$ 但し $n\geqq 3$

整数 $n\geqq 1$ 及び $i\geqq 0$ に対して

$M_{0}^{1}$ $:=s$

$n\geqq 2$ ならば $M_{0}^{n}$ $:=+|(\lambda u.M_{0}^{n-1})$

$i\geqq 1$ ならば $M_{i}^{n}$ $:=(+|R^{n+1})M_{i-1}^{n}$

$+$ 、 $P$ の下付添字と

1

、 $0$ 、 $Q$ 、 $R$ 、 $M$ の上付添字は型 を表す。 型の推定が容易な場合には、 型を表す添字は省略し て書かない。

(7)

$\bullet F$ 、 $G$ 階級 $n$ の型 $T$ に対して、 順序準同型写像$F$ :(型 $T$ の項) $arrow$ (型 $n$ の項) と $G$

:

(型 $n$ の項) $arrow$ (型 $T$ の項) を導入する。 項$F_{T}$ と $G_{T}$ は $F$ $G$ の表現である。 項によって表現される写像 が準同型になることは明かである。

型 $T$ 及び整数 $n\geqq rank[T]$ に対して $F^{T\supset n}$

及び $G^{n\supset T}$

を定義する。

これは $T$ の帰納法で行なう。

まず $T=\omega$ の場合、 $F^{\omega\supset n}:=\lambda vx_{n-1}\cdots x_{0}.v$

$G^{n\supset\omega}:=\lambda u.uO^{n-1}$

...

$O^{0}$

$T\neq\omega$ の場合は、 $T$

$T=T_{1}\supset T_{2}\supset\cdots T_{h}\supset\omega$

と表す。 $h=\circ rder[T]$ である。 この$T_{1}\cdots T_{h}$ を階級に依って分類

する。

階級 $0$ $-$

$T_{j_{0,1}}$

. .

.

$T_{j_{0,h_{0}}}$

階級 1 $-$ $T_{j_{1,1}}$

.

.

.

$T_{j_{1,h_{1}}}$

$\mathbb{P}\in:\# Rn-1$ – $T\cdot$ $\cdots T$ .

$\gamma_{n-1,1}$ $g_{n-1,h_{n-1}}$

$h_{0}+h_{1}+\cdots h_{n-1}=h$ であり、 $j_{k,l}$ は1 から $h$ までを動く。 $h_{0},$ $h_{1}\cdots h_{n-1}$ の中には $0$ があるかも知れない。 以降は $T_{j_{k,l}}$

,l

と書く。 $T_{k,1}\cdots T_{k,h_{k}}$ の中には重複して現れる ものがある

(8)

さて、 変数 $x_{1}^{T_{1}}\cdots x_{h}^{T_{h}}$ を考える。 $T_{j}$ と $T_{k,l}$ のように、 $x_{j_{k,l}}$ を $x_{k,l}$ と書く。 この時、

$G^{n\supset T}$ を

$G^{n\supset T}:=\lambda ux_{1}$

$x_{h}.uV_{n-1,\backslash }\cdots V_{0}$

と定め る 。 ここで $V_{n-1}$ $v_{0}$ は

$V_{k}:=+(F^{T_{k,1}\supset k_{X_{k,1}}})$

$(+(F^{T_{k,2}\supset k_{X_{k,2}}})$

$($ ... $+(F^{T_{k,h_{k}-1}\supset k_{X_{k,h_{k}-1}}})$

$(F^{T_{k,h_{k}}\supset k_{\cross k,h_{k}}})$

...

))

$-$ $h_{k}\geqq 2$ の時

V

$k;=F^{T_{k,1}\supset k_{X_{k,1}}}$ $-$ $h_{k}=1$ $\#_{f}^{\pm}\backslash$

$V_{k}:=0^{k}$ $-h_{k}=0$ の時

を表す。

$F^{T\supset n}$

$F^{T\supset n}:=\lambda vx_{n-1}$ $x_{0}.v(G^{rank[T_{1}]\supset T_{1}}x_{rank[T_{1}]})\cdots(G^{rank[T_{h}]\supset T_{h}}x_{rank[T_{h}]})$

と定める。

単に型 $T$ のみを指定した時には、

$F_{T}:=F^{T\supset rank[T]}$ , $G_{T}:=G^{rank[T]\supset T}$

を表す。

次が成り立つ。

$G_{T}(F_{T}x)$ $\geqq x$

$n\geqq rank[T]$ ならば、 $n$ に依らず

(9)

5

補題

補題 1 $\lambda u.F_{T}(G_{T}u)\leqq M_{length[T]-1}$

補題2 $\lambda v.QM_{i}^{n}(M_{j}^{n}v)\leqq M_{i+j+2}^{n}$

補題 3 $M_{i}^{n+1}0^{n}\leqq M_{2-3}^{n_{i+3}}$ 但し $n\geqq 1$

6

定理

閉項

X

の長さ $l$

=length[X]

、 階級 $r$

=rank[

]

X

の中にある

変数と原子定項の中で階級が一番高いものの階級が $q$ である

I寺、 $FX\leqq M_{3l-3}^{q+1}O^{q}\cdots O^{r}$

7

系 閉項

X

$\in\omega$ に対し、 $length[X]=l$ 、 $X$ の中にある原子項の中 で階級が一番高いものの階級を $q$ と書く時、 $[XJ\leqq 2_{q+1}^{3l}-3$ 但しここで $2_{0}^{n}=n,$ $2_{i+1}^{n}=2^{2_{i}^{n}}$

8

結論 定理により、 項の列 $\{M_{i}^{n}\}_{i=0,1},\cdots$ は型 $n$ の閉項の中で共終で ある。 また$F(Gx)\geqq x$ であることから、 列 $\{G_{T}M_{i}\}_{i=0,1},\cdots$ もまた 型 $T$ の閉項の中で共終であることが示される。

(10)

$\uparrow\uparrow q+2$ という評価が得られる。 この不等式に於いて、 $\uparrow\uparrow$

の第二引数に於ける $q$ の一次の係数が

1

より小さ くならない

ことは既に知られている。 [参考文献 2] その意味で、 この

不等式は最良の評価である。

9

参考文献

[1] Gandy,

R.

$0$.

: Proof

of

strong

normalization.

To

H.B.

Curry

Essays

$i_{7}\iota$

Combinatory Logic, Lambda

Calculus

and

Formalism.

1980

[2]

Shwichtenberg, H.

:

Complexity of normalization

in

the

pure

typed lambda

-ca[culus.

The

L.E.J.

Brower

Centenary Syposium.

1982

[3]

Girard,

J.-Y.

et

al.

:

Proofs and

Types.

1989

参照

関連したドキュメント

Our main theorem suggests a sharp distinction between λla and the polytime functional systems based on safe recursion [13, 11, 7], because normalization in the latter systems is at

Theorem 8 (Polynomial time strong normalization) Let t be a lambda- term which has a typing derivation D of depth d in DLAL.. This result holds independently of which reduction

 当図書室は、専門図書館として数学、応用数学、計算機科学、理論物理学の分野の文

 

光を完全に吸収する理論上の黒が 明度0,光を完全に反射する理論上の 白を 10

経済学研究科は、経済学の高等教育機関として研究者を

  支払の完了していない株式についての配当はその買手にとって非課税とされるべ きである。

5月 こどもの発達について 臨床心理士 6月 ことばの発達について 言語聴覚士 6月 遊びや学習について 作業療法士 7月 体の使い方について 理学療法士