“Combinatory Logic Volume I”メモ(その1)
p.98 のメモ、$(c_1)$ の Case 3のところ。
まず、 “first trivial case” と “second” について。
もともとの前提から:
$\mbox{ (c) If no variables which occur free in M or N are bound in X }$
この前提から導くことを考えます。
$\begin{array} &
X ≡ λz.Y \mbox{ と置く}
\end{array}$
$\begin{array} &
\mbox{ z ≡ y の時} & & \\
\begin{array}{lll}
X\ast &≡ [M/x][N/y]λz.Y & \mbox{ ;; ここで } z ≡ y \mbox{ なので} \\
&≡ [M/x][N/y]λy.Y & \mbox{ ;; Case 3 (a) より} \\
&≡ [M/x]λy.Y & \mbox{ ;; ここでもともとの前提 (c) から} \\
&& \mbox{ ;; y is not free in M なので Case 3 (b) (i) より} \\
&≡ λy.[M/x]Y \\
X\# &≡ [N'/y][M/x]λz.Y & \mbox{ ;; ここで } z ≡ y \mbox{ なので} \\
&≡ [N'/y][M/x]λy.Y & \mbox{ ;; ここで同様にもともとの前提 (c) から} \\
&& \mbox{ ;; y is not free in M なので Case 3 (b) (i) より} \\
&≡ [N'/y]λy.[M/x]Y & \mbox{ ;; Case 3 (a) より} \\
&≡ λy.[M/x]Y \\
\end{array} \\
\therefore X\ast ≡ X\#.
\end{array}$
$\begin{array} &
\mbox{ z ≡ x の時} \\
\begin{array}{lll}
X\ast &≡ [M/x][N/y]λz.Y & \mbox{ ;; ここで } z ≡ x \mbox{ なので} \\
&≡ [M/x][N/y]λx.Y & \mbox{ ;; ここでもともとの前提 (c) から} \\
&& \mbox{ x is not free in N なので Case 3 (b) (i) より} \\
&≡ [M/x]λx.[N/y]Y & \mbox{ ;; Case 3 (a) より} \\
&≡ λx.[N/y]Y \\
X\# &≡ [N'/y][M/x]λz.Y & \mbox{ ;; ここで } z ≡ x \mbox{ なので} \\
&≡ [N'/y][M/x]λx.Y & \mbox{ ;; Case 3 (a) より} \\
&≡ [N'/y]λx.Y & \mbox{ ;; N' について N であらわすと} \\
&≡ [([M/x]N)/y]λx.Y & \mbox{ ;; ここでもともとの前提 (c) から}\\
&& \mbox{ x is not free in N なので [M/x]N ≡ N より} \\
&≡ [N/y]λx.Y & \mbox{ ;; ここで同様にもともとの前提 (c) から} \\
&& \mbox{ x is not free in N なので Case 3 (b) (i) より} \\
&≡ λx.[N/y]Y \\
\end{array} \\
\therefore X\ast ≡ X\#.
\end{array}$