「循環定義」の版間の差分

削除された内容 追加された内容
m WP:BOTR ニュートン_(単位) 改名および曖昧さ回避
編集の要約なし
1行目:
'''循環定義'''(じゅんかんていぎ、{{lang-en-short|Circularcircular definition}})は、ある概念を定義するためにその概念自体を用いることである。この場合、定義文のみの知識では定義した概念の本質的な理解が出来ないため、定義は成立しない。
 
== 概説 ==
端的に言えば、ある概念の定義文に、その概念自体の名称を用いた場合が循環定義である。例えば、"[[カシ]]"の定義文として、「[[どんぐり]]をつける[[木]]」としたとき、どんぐりの定義文を「カシの作る[[種実類]]」とする。定義文を相互に代入するとカシの定義文が「[[カシ]]の作る種実類をつける木」、どんぐりの定義文が「[[どんぐり]]をつける木の作る種実類」となり循環定義となる。このように、定義が循環すると'''定義文のみの知識では概念の相対的な位置付けは理解できるが、定義する概念自体の絶対的な理解が出来ない'''ため、定義は成立しない。<br />
 
循環の輪が大きい場合には、循環定義を発見することが難しくなるが、循環に関係する概念の数が多くなるため実際の理解においては既知の概念を経由する可能性が大きくなり問題とならない場合も多い。
循環の輪が大きい場合には、循環定義を発見することが難しくなるが、循環に関係する概念の数が多くなるため実際の理解においては既知の概念を経由する可能性が大きくなり問題とならない場合も多い。そもそも、語彙が有限であり、全ての語彙を定義するためには既に定義されている語彙を用いるか、一切定義されていない語彙を用いる必要が有るため、循環定義を完全に無くすことは不可能である([[ミュンヒハウゼンのトリレンマ]])。
 
== 循環定義の例 ==
初期の[[キログラム]]の定義でこのような循環定義が発生した{{要出典|date=2012年10月17日}}。キログラムは当初、1[[リットル]]の[[水]]の[[標準状態|標準気圧]]および最も密度の高くなる気温(約 4℃)での[[質量]]と定義されていた。[[圧力]]の単位は平方[[メートル]]当たりの[[ニュートン (単位)|ニュートン]]であり、ニュートンは1キログラムの質量を毎秒毎秒1メートル加速する力である。水の容積は気圧に依存するため、キログラムの定義には自分自身の定義が使われていることになる。混乱を解決するため、キログラムは後に[[セーヴル]]にある金属製のキログラム原器で定義されるようになった。
 
「死」の定義もかつては循環定義がつきまとっていた。死を「生命の体液の永久的な流動停止」と定義した際に、「生命の体液」とは何かが問題となった。
14行目:
 
2007年版のウェブスターの辞書には "hill" と "mountain" が次のように定義されている。
: Hill - "1: a usually rounded natural elevation of land '''lower than a mountain'''"(自然のなだらかな小高い陸地で山より低い) [http://www.m-w.com/dictionary/hill]
: Mountain - "1a: a landmass that projects conspicuously above its surroundings and is '''higher than a hill'''" (周囲から目立って突き出している、丘より高い陸地)[http://www.m-w.com/dictionary/mountain]
これも循環定義の典型的な例である。
 
辞典にも循環定義が存在する可能性があるが、存在したとしても循環の輪が非常に大きいため発見と修正は難しいと予測される。
 
[[UNIX]]系[[オペレーティングシステム|OS]]のソフトウェアの[[インストール]]に用いる[[パッケージ管理システム]]においても循環定義が起こりうる。[[ソースコード]]を利用するパッケージ管理システムにおいては、あるソースコードパッケージが他のソースコードパッケージの機能に依存する場合があり、この依存関係が循環を形成した場合に発生する。この場合、依存先をどこまで辿っても必要な機能の実装が見つからないため、システムに設定された打ち切り回数まで依存関係に沿ってインストール開始を延々と繰り返す状態に陥ることになる。インストール中に依存関係の循環を発生させる機能を無効にする(循環そのものを切断する)か、バイナリパッケージをインストールすることで循環に対し実装を与える(事前に定義する概念について理解することと同義)ことでインストールを進行させることが可能である。
[[UNIX]]系[[オペレーティングシステム|OS]]のソフトウェアの[[インストール]]に用いる[[パッケージ管理システム]]においても循環定義が起こりうる。<br />
[[ソースコード]]を利用するパッケージ管理システムにおいては、あるソースコードパッケージが他のソースコードパッケージの機能に依存する場合があり、この依存関係が循環を形成した場合に発生する。<br />
この場合、依存先をどこまで辿っても必要な機能の実装が見つからないため、システムに設定された打ち切り回数まで依存関係に沿ってインストール開始を延々と繰り返す状態に陥ることになる。
インストール中に依存関係の循環を発生させる機能を無効にする(循環そのものを切断する)か、バイナリパッケージをインストールすることで循環に対し実装を与える(事前に定義する概念について理解することと同義)事でインストールを進行させることが可能である。
 
== 関連項目 ==
* [[循環論法]]
* [[恒真式]]