自己言及のパラドックス
「文章に言及する文章」を矛盾無く取り扱うには「この文は間違っている」という文章をうまく排除する必要がある。「この文は間違っている」という文章を回避する方法として、言語に階層をいれる、というものがある。すなわち、言語に「レベル0の文章」、「レベル1の文章」...を以下のように作る。
レベル0の文章:(自己言及や他己言及を含まない)「普通の」文章。
レベル1の文章:レベル0の文章について言及している文章。
レベル2の文章:レベル1の文章について言及している文章。
...
レベルi+1の文章:レベルiの文章について言及している文章。
...
そしてこのようにレベルづけできる文章だけを(矛盾が生じる危険がないので)取り扱う事にし、その他の文章を扱うのを諦める。 したがって、
レベル0の文章の中には偽のものがある。
レベル0の文章に言及している文書はレベル1である。
レベル0の文章は、全て10文字以下である。
(いずれもレベル1)
のようなものは扱う事ができる(ただし、扱う事ができるからといって、真であるとは限らない。上記の例で実際 3 番目の例は扱う事ができるが偽である)。
一方「この文は間違っている」は排除される。実際この方法だと「この文は間違っている」という文章にはレベルづけできない。A = 「この文は間違っている」 として、仮に A のレベルが i であるとすると、 A は「この文(←レベル i )は間違っている」とレベル i の文章に言及した文章でもあるので、 A のレベルは i+1 であってレベル i ではないことになり、矛盾する。
(D1) を真だとすると、(D2) が真だということになる。すると (D1) は偽ということになり、結果として (D2) も偽となる。すると今度は (D1) が真だということになり......というように無限に続き、パラドックスを生じる。
このような形式は相互に言及しあう複数の文を円環状に配することで(つまり、最後の文は最初の文の真偽を述べる)いくらでもバリエーションを生み出せる。次の例は奇数個の文を使ったもので、それぞれ次の文が偽だと表明する。
D2 は偽である。(D1)
D3 は偽である。(D2)
D1 は偽である。(D3)
(D1) が真だとすると、(D2) は偽ということになる。すると (D3) は真となり、結果として (D1) は偽となって、矛盾が生じる。逆に (D1) を偽だとすると、(D2) は真ということになり、(D3) は偽となって、結局 (D1) は真となって、やはり矛盾が生じる。つまり、パラドックスである。
なお、スティーブン・ヤブロは、無限個の文によりヤブロのパラドックスが生じることを示した。 任意の自然数nについて、Dnを以下のように定義する。
n < m なる Dm は偽である。(Dn)