自由モノイドのイテレーター
クロージャーの調査が保留となっていたので再開したいのですが、まずは前回の続きでイテレーターについて調査していきたいと思います。
有限の場合
を
で生成された自由モノイドとします。演算子を
とします。
の元を文字、
の元を文字列とみなすことができます。
(
)のとき
とします(そのほか前回と同様配列のような記法を使います)。
をある集合
から
への「形式的写像」とします。
として
のとき
と定義されたもので、
は「式」で
を含んでいても良い(含まなくても複数含んでいても良い)とします。
は前回述べたように
への部分写像となります。
無限の場合
この無限の場合を考えます。
のとき
と定義します。ここで
は
の
を
で置き換えたものとします。
は「クロージャー」のようなものを表します。
に現れる変数(「式」の中で「形式的写像」を定義できるとし、その「引数」)を
とするとき、それらをまとめた
に対して、
は「クラスのインスタンス」のような形で
という組とします。
は「ラムダ式」のようなものとします。
を「評価」する
は
とします。このような「インスタンス」の全体を
とおきます。詳細な定義は後ですることにします。
イテレーターのようなものの定義
のとき
を
のとき
とすると
のとき
とすると
と定義します。
これを 回繰り返したものを
とします。すなわち
を
のとき
と帰納的に定義します。
を
となる
が存在するとき
という組とします。
- そのような
が存在しないとき
とします。
これを 回繰り返したものを
とします。ただし途中で
となったときは
とします。すなわち
を
のとき
かつ
のとき
または
のとき
と帰納的に定義します。 を
のとき
のとき
と定義します。
任意の自然数 に対して
が存在するとき値が定義されているとすると
の無限版
への部分写像になります。
の定義ができていないのでこのままでは意味がよくわかりません。この定義は後ですることにします。




