プログラミング言語 Standard ML 入門 (問題の解答例)
6.1 リスト構造
問 6.1
本問では,無限集合の簡単な扱いに慣れている読者のために,リ ストの数学的なモデルを考察する. ポインタ構造を無視すると,上記のリスト構造は以下のように入れ子に なった組とみなせる.
v1,v2,,vnが属する集合をとし, 集合との直積を以下のように定義する.
さらに,nilを唯一の要素とする集合をとする. すると,個の要素からなるリストは以下のような集合の要素と考えら れる.
個に限らず,集合の要素からなるすべてのリストの集合は,集合に 関する以下のような方程式の解と考えることができる.
この方程式の最小解を以下の手順で求めよ.
-
1.
集合の系列 を以下のように定める.
もしに関する方程式が解を持てば,任意のに対して,
であることをに関する数学的帰納法で示せ.
-
2.
この系列を用いて,集合を以下のように定義する.
このとき,は上記の方程式を満たすことを示し,したがって,が上記方程 式の最小解であることを確認せよ.
解答例
-
1.
を方程式の任意の解とし、をに関する数学的帰納法で示す。
の場合。
の場合。
-
2.
を示せば良い。 集合の等式であるから、 および を示せばよい。
は、 の要素集合について、 を示せばよい。 定義の形から、ほぼ自明である。 厳密には、に関する帰納法による。 であり、成立する。 の場合、である。 帰納法の仮定からである、 また、定義から、であり、 従って、である。
を示すには、 と 任意のに関して、を示せば十分である。 前者は、であり、成立する。 後者は、定義より、 であり成立する。