再帰的定義

提供: miniwiki
2013/3/20/ (水) 13:02時点におけるja>EmausBotによる版 (ボット: 言語間リンク 8 件をウィキデータ上の (d:Q2466486 に転記))
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
移動先:案内検索

再帰的定義(Recursive Definition)は、再帰的な定義、すなわち、あるものを定義するにあたってそれ自身を定義に含むものを言う。無限後退を避けるため、定義に含まれる「それ自身」はよく定義されていなければならない。同義語として帰納的定義(Inductive Definition)がある。

概要

循環定義との違いは、再帰的定義にはその定義を使わずに定義される基本となるケースが存在することである。その他のケースの定義は、基本のケースにより近い定義によって定義されなければならない。

例として素数の定義を示す:

  • 2は最小の素数である。
  • 任意の正の整数で、自身より小さい素数で割り切れない数は素数である。

整数 2 がこの場合の基本ケースである。それより大きい整数 X が素数かどうかを判定するには、X と 2 の間の全ての整数について素数かどうかを知っている必要がある。しかし、そのような整数は X よりも基本ケースの 2 に近い。

対照的に循環定義には基本ケースがなく、単に自身で自身を定義しているにすぎない。これが悪循環を生む。従って「再帰的定義: "再帰的定義"を参照」という記述は循環定義であって再帰的定義ではない。

再帰的定義は論理学コンピュータプログラミングでよく見受けられる。例えば整論理式(WFF)は次のように定義される:

  1. 命題を意味する記号 - 例えば、p は「フレッドは法律家である」を意味する。
  2. 記号の否定もWFFである - 例えば、Np は「フレッドは法律家である、というのは真ではない」を意味する。
  3. 4種類の論理演算(C, A, K, E)のいずれかに二つのWFFが付属したものはWFFである。記号 K は「両方が真である」ことを意味するとすると、Kpq は「フレッドが法律家であり、かつメリーは音楽好きである」という意味である。

このような再帰的定義を使って、ある記号列が整論理式であるかどうかを判定することができる。

  • Kpq は、WFF である pqK に付属したものであるため、WFF である。
  • NKpq は、WFF である KpqN に付属したものであるため、WFF である。
  • KNpNq は、KNpNq が付属しており、Np は WFF であり、などなど。