カリーのパラドックスとは、任意の命題Fが、「CならばF 」という命題Cが存在するだけで証明されるというパラドックスである。このパラドックスは、一見無害に見えるいくつかの論理的推論規則のみを必要とする。Fは任意の命題であるため、これらの規則を持つ論理体系であれば、あらゆる命題を証明できる。このパラドックスは、自然言語だけでなく、集合論、ラムダ計算、組み合わせ論理など、さまざまな論理体系で表現することができる。
このパラドックスは、 1942年にこのパラドックスについて書いた論理学者ハスケル・カリーにちなんで名付けられました。 [ 1 ]また、レープの定理との関連性から、マルティン・フーゴ・レープにちなんでレープのパラドックスとも呼ばれています。[ 2 ]
「 AならばB 」という形式の主張は条件文と呼ばれます。カリーのパラドックスは、次の例に示すように、特定の種類の自己言及的な条件文を使用しています。
ドイツは中国と国境を接していないが、例文は確かに自然言語の文であり、したがってその文の真偽を分析することができる。この分析からパラドックスが生じる。分析は2つのステップからなる。まず、一般的な自然言語の証明手法を用いて、例文が真であることを証明できる(以下のステップ1~4)。次に、その文の真偽を用いて、ドイツが中国と国境を接していることを証明できる(ステップ5~6)。
ドイツは中国と国境を接していないため、証明手順のいずれかに誤りがあったことが示唆される。「ドイツは中国と国境を接している」という主張は他の主張に置き換えても証明可能である。したがって、すべての文が証明可能であるように見える。証明には広く受け入れられている演繹法のみが用いられており、これらの方法のいずれも誤りではないように見えるため、この状況は逆説的である。[ 3 ]
条件文(「 AならばB 」の形の文)を証明する標準的な方法は、「条件証明」と呼ばれます。この方法では、「 AならばB 」を証明するために、まずAを仮定し、その仮定に基づいてBが真であることを示します。
カリーのパラドックスを、上記の2つのステップで説明したように、この方法を「この文が真ならば、ドイツは中国と国境を接している」という文に適用します。ここで、 A「この文は真である」は文全体を指し、Bは「ドイツは中国と国境を接している」です。したがって、Aを仮定することは、「 Aならば、B 」を仮定することと同じです。つまり、Aを仮定することで、Aと「Aならば、B」の両方を仮定したことになります。したがって、モーダス・ポネンスによりBは真であり、仮説を仮定して結論を導き出すという通常の方法で、「この文が真ならば、『ドイツは中国と国境を接している』は真である」が証明されました。
さて、「この文が真ならば、『ドイツは中国と国境を接している』は真である」という命題を証明したので、再びモーダス・ポネンスを適用できます。なぜなら、「この文は真である」という主張が正しいことがわかっているからです。このようにして、ドイツは中国と国境を接していると推論できます。
前の節の例では、非形式化された自然言語推論を使用しました。カリーのパラドックスは、形式論理のいくつかの変種でも発生します。この文脈では、形式文 ( X → Y ) が存在し、X自体が ( X → Y ) と同等であると仮定すると、形式的な証明でY を証明できることを示しています。そのような形式的な証明の例を以下に示します。この節で使用されている論理記号の説明については、論理記号の一覧を参照してください。
別の証明方法として、パースの法則を用いる方法がある。X = X → Yならば、( X → Y ) → Xとなる。これとパースの法則 (( X → Y ) → X ) → Xおよびモーダス・ポネンスを組み合わせると、 Xが導かれ、続いてY が導かれる(上記の証明と同様)。
上記の導出は、形式体系においてY が証明不可能な命題である場合、その体系において、 ( X → Y )と同値となる命題X は存在しないことを示している。言い換えれば、前の証明のステップ 1 は失敗する。これに対し、前の節では、自然言語 (非形式化) においては、すべての自然言語命題Yに対して、自然言語において( Z → Y ) と同値となる自然言語命題Zが存在することを示している。すなわち、Zは「この文が真ならばY」である。
基礎となる数学的論理が自己参照文を一切許容しない場合でも、ある種の素朴な集合論は依然としてカリーのパラドックスの影響を受けやすい。無制限の理解を許容する集合論では、集合を調べることによって 任意の論理命題Yを証明できる。すると、次の文が容易に示される。と同等これから、上記の証明と同様に推論できる。("(「」は「この文」を表します。)
したがって、一貫性のある集合論では、集合は偽のYに対しては存在しません。これはラッセルのパラドックスの変形と見なすことができますが、同一ではありません。集合論に関するいくつかの提案は、理解の規則を制限するのではなく、論理の規則を制限することによってラッセルのパラドックスに対処しようと試みており、それによって、それ自体を要素としないすべての集合の集合の矛盾した性質を許容するようにしています。上記のような証明の存在は、そのような作業がそれほど単純ではないことを示しています。なぜなら、上記の証明で使用されている演繹規則の少なくとも 1 つを省略または制限する必要があるからです。
カリーのパラドックスは、含意命題論理によって拡張された型なしラムダ計算で表現できる。ラムダ計算の構文上の制約に対処するために、は、2つのパラメータ、すなわちラムダ項を取る含意関数を表すものとする。通常の接中記法と同等とする。
任意の式ラムダ関数を定義することで証明できる、 そして、 どこはカリーの不動点コンビネータを表す。すると定義によりそしてしたがって、上記の命題論理の証明は、計算体系で複製することができます。[ 4 ] [ 5 ]
単純型ラムダ計算では、不動点コンビネータは型付けできないため、認められません。
カリーのパラドックスは、ラムダ計算と同等の表現力を持つ組み合わせ論理でも表現できる。任意のラムダ式は組み合わせ論理に変換できるため、カリーのパラドックスの実装をラムダ計算に翻訳すれば十分である。
上記の用語翻訳すると組み合わせ論理では、 したがって[ 6 ]
カリーのパラドックスは、基本的な論理演算をサポートし、かつ自己再帰関数を式として構築できる言語であれば、どの言語でも定式化できます。パラドックスの構築をサポートするメカニズムは、自己参照(文の中から「この文」を参照できる機能)と、素朴集合論における無制限の内包表記の2つです。自然言語には、他の多くの言語と同様に、パラドックスの構築に使用できる機能がほぼ必ず含まれています。通常、言語にメタプログラミング機能を追加することで、必要な機能が追加されます。数学的論理では、一般的に自身の文への明示的な参照は許可されていませんが、ゲーデルの不完全性定理の核心は、別の形式の自己参照を追加できるという観察です(ゲーデル数を参照)。
証明の構築に用いられる規則は、条件付き証明における仮定規則、縮約規則、およびモーダス・ポネンスである。これらは、一階述語論理など、最も一般的な論理体系に含まれている。
1930年代には、カリーのパラドックスと、カリーのパラドックスの元となった関連のあるクリーネ・ロッサーのパラドックス[ 7 ] [ 1 ]が、自己再帰表現を許容する様々な形式論理体系が矛盾していることを示す上で重要な役割を果たした。
無制限理解の公理は現代の集合論では支持されておらず、したがってカリーのパラドックスは回避される。
{{cite book}}: CS1メンテナンス: 場所が不明な発行元 (リンク)こちら: p.125