Powered by SmartDoc
(印刷用 PS 版は /home/hattori/visual-prog/latex2e/main.ps です)

項書き換え系

項の定義

述語論理で使う項と同じもの。

  1. 変数は項である。
  2. f n 引数の関数記号、 t 1 , t 2 , · , t n が項の時、 f ( t 1 , t 2 , · , t n ) は項である。

項書き換え系の定義

項書き換え系は書き換え規則の集合である。書き換え規則は、 A , B を項とすると、 A B の形をしている。

T が与えられた時、ある規則 A B と適当な代入 σ があって、 T の部分項が A σ と一致すれば、その部分項を B σ で置き換える。これをリダクションと言う。

例えば、リストを逆順にする項書き換え系は次のようになる。

    reverse([]) → []
    reverse([X|Y]) → append(reverse(Y), [X])
    append([], X) → X
    append([X|Y], Z) → [X|append(Y, Z)]
停止性
すべてのリダクション列は、有限の長さで既約形(それ以上リダクションできない形)に到達する。
合流性
ある項から出発する二種類のリダクション列がある時、うまくその先を続けていくと、同じ項に到達することができる。

項書き換え系と文法との違い