循環定義の例
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/07/31 14:50 UTC 版)
初期のキログラムの定義でこのような循環定義が発生した[要出典]。キログラムは当初、1リットルの水の標準気圧および最も密度の高くなる気温(約4℃)での質量と定義されていた。圧力の単位は平方メートル当たりのニュートン ([Pa] = [N]/[m2]) であり、ニュートンは1キログラムの質量を毎秒毎秒1メートル加速する力 ([N] = [kg]・[m]/[s2]) である。水の容積は気圧に依存するため、キログラムの定義に自分自身の定義が使われていることになる。混乱を解決するため、キログラムは後にセーヴルにある金属製のキログラム原器で定義された。(なお、2019年5月20日以降はプランク定数、光速度、およびセシウム周波数に基づいて定義される。) 「死」の定義もかつては循環定義がつきまとっていた。死を「生命の体液の永久的な流動停止」と定義した際に、「生命の体液」とは何かが問題となった。 数学の一理論である非有基的集合論では循環集合を構築できる[要出典]。循環集合は様々な循環する性質をもつ事象のモデル化に便利で、よく利用されている。情報工学では再帰呼び出しを定義に使った手続きがあるが、これらの定義は最終的に完了するので循環定義ではない。 2007年版のウェブスターの辞書には "hill" と "mountain" が次のように定義されている。 Hill - "1: a usually rounded natural elevation of land lower than a mountain"(自然のなだらかな小高い陸地で山より低い) Mountain - "1a: a landmass that projects conspicuously above its surroundings and is higher than a hill"(周囲から目立って突き出している、丘より高い陸地) これも循環定義の典型的な例である。 辞典にも循環定義が存在する可能性があるが、存在したとしても循環の輪が非常に大きいため発見と修正は難しいと予測される。 UNIX系OSのソフトウェアのインストールに用いるパッケージ管理システムにおいても循環定義が起こりうる。ソースコードを利用するパッケージ管理システムにおいては、あるソースコードパッケージが他のソースコードパッケージの機能に依存する場合があり、この依存関係が循環を形成した場合に発生する。この場合、依存先をどこまで辿っても必要な機能の実装が見つからないため、システムに設定された打ち切り回数まで依存関係に沿ってインストール開始を延々と繰り返す状態に陥ることになる。インストール中に依存関係の循環を発生させる機能を無効にする(循環そのものを切断する)か、バイナリパッケージをインストールすることで循環に対し実装を与える(事前に定義する概念について理解することと同義)ことでインストールを進行させることが可能である。 法律でも循環定義が存在する例がある。例えば、『独立行政法人経済産業研究所法』という法律の第一条では、「この法律は、独立行政法人経済産業研究所の名称、目的、業務の範囲等に関する事項を定めることを目的とする。」と規定されているが、これはつまり、「この法律は、独立行政法人経済産業研究所の名称(中略)等を定めることを目的とする」と言っていながら、 その条文のなか自体に『独立行政法人経済産業研究所』という名称が既に登場してしまっているのである。これは、「独立行政法人経済産業研究所の名称は、独立行政法人経済産業研究所とする。」と言っているに等しいので、循環定義の一例といえる。
※この「循環定義の例」の解説は、「循環定義」の解説の一部です。
「循環定義の例」を含む「循環定義」の記事については、「循環定義」の概要を参照ください。
- 循環定義の例のページへのリンク