Английская Википедия:Curry's paradox

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Шаблон:Short description Шаблон:For Curry's paradox is a paradox in which an arbitrary claim F is proved from the mere existence of a sentence C that says of itself "If C, then F", requiring only a few apparently innocuous logical deduction rules. Since F is arbitrary, any logic having these rules allows one to prove everything. The paradox may be expressed in natural language and in various logics, including certain forms of set theory, lambda calculus, and combinatory logic.

The paradox is named after the logician Haskell Curry. It has also been called Löb's paradox after Martin Hugo Löb,[1] due to its relationship to Löb's theorem.

In natural language

Claims of the form "if A, then B" are called conditional claims. Curry's paradox uses a particular kind of self-referential conditional sentence, as demonstrated in this example:

Шаблон:Block indent

Even though Germany does not border China, the example sentence certainly is a natural-language sentence, and so the truth of that sentence can be analyzed. The paradox follows from this analysis. The analysis consists of two steps. First, common natural-language proof techniques can be used to prove that the example sentence is true [steps 1.-4. below]. Second, the truth of the sentence can be used to prove that Germany borders China [steps 5.-6.]:

  1. The sentence reads "If this sentence is true, then Germany borders China"   [repeat definition to get step numbering compatible to #Formal proof]
  2. If the sentence is true, then it is true.   [obvious, i.e., a tautology]
  3. If the sentence is true, then: if the sentence is true, then Germany borders China.   [replace "it is true" by the sentence's definition]
  4. If the sentence is true, then Germany borders China.   [contract repeated condition]
  5. But 4. is what the sentence says, so it is indeed true.
  6. The sentence is true [by 5.], and [by 4.]: if it is true, then Germany borders China.
    So, Germany borders China.

Because Germany does not border China, this suggests that there has been an error in one of the proof steps. The claim "Germany borders China" could be replaced by any other claim, and the sentence would still be provable. Thus every sentence appears to be provable. Because the proof uses only well-accepted methods of deduction, and because none of these methods appears to be incorrect, this situation is paradoxical.[2]

Informal proof

The standard method for proving conditional sentences (sentences of the form "if A, then B") is called "conditional proof". In this method, in order to prove "if A, then B", first A is assumed and then with that assumption B is shown to be true.

To produce Curry's paradox, as described in the two steps above, apply this method to the sentence "if this sentence is true, then Germany borders China". Here A, "this sentence is true", refers to the overall sentence, while B is "Germany borders China". So, assuming A is the same as assuming "If A, then B". Therefore, in assuming A, we have assumed both A and "If A, then B". Therefore, B is true, by modus ponens, and we have proven "If this sentence is true, then 'Germany borders China' is true." in the usual way, by assuming the hypothesis and deriving the conclusion.

Now, because we have proved "If this sentence is true, then 'Germany borders China' is true", then we can again apply modus ponens, because we know that the claim "this sentence is true" is correct. In this way, we can deduce that Germany borders China.

Formal proof

Sentential logic

The example in the previous section used unformalized, natural-language reasoning. Curry's paradox also occurs in some varieties of formal logic. In this context, it shows that if we assume there is a formal sentence (X → Y), where X itself is equivalent to (X → Y), then we can prove Y with a formal proof. One example of such a formal proof is as follows. For an explanation of the logic notation used in this section, refer to the list of logic symbols.

  1. X := (X → Y)
    Шаблон:Block indent
  2. X → X
    Шаблон:Block indent
  3. X → (X → Y)
    Шаблон:Block indent
  4. X → Y
    Шаблон:Block indent
  5. X
    Шаблон:Block indent
  6. Y
    Шаблон:Block indent

An alternative proof is via Peirce's law. If X = X → Y then (X → Y) → X. This together with Peirce's law ((X → Y) → X) → X and modus ponens implies X and subsequently Y (as in above proof).

Therefore, if Y is an unprovable statement in a formal system, there is no statement X in that system such that X is equivalent to the implication (X → Y). By contrast, the previous section shows that in natural (unformalized) language, for every natural language statement Y there is a natural language statement Z such that Z is equivalent to (Z → Y) in natural language. Namely, Z is "If this sentence is true then Y".

Naive set theory

Even if the underlying mathematical logic does not admit any self-referential sentences, certain forms of naive set theory are still vulnerable to Curry's paradox. In set theories that allow unrestricted comprehension, we can prove any logical statement Y by examining the set <math display="block">X \ \stackrel{\mathrm{def}}{=}\ \left\{ x \mid (x \in x) \to Y \right\}.</math>One then shows easily that the statement <math>X\in X</math> is equivalent to <math>(X\in X) \to Y</math>. From this, <math>Y</math> may be deduced, similarly to the proofs shown above. ("<math>X\in X</math>" stands for "this sentence".)

Therefore, in a consistent set theory, the set <math>\left\{ x \mid (x \in x) \to Y \right\}</math> does not exist for false Y. This can be seen as a variant on Russell's paradox, but is not identical. Some proposals for set theory have attempted to deal with Russell's paradox not by restricting the rule of comprehension, but by restricting the rules of logic so that it tolerates the contradictory nature of the set of all sets that are not members of themselves. The existence of proofs like the one above shows that such a task is not so simple, because at least one of the deduction rules used in the proof above must be omitted or restricted.

Lambda calculus with restricted minimal logic

Curry's paradox may be expressed in untyped lambda calculus, enriched by restricted minimal logic. To cope with the lambda calculus's syntactic restrictions, <math>m</math> shall denote the implication function taking two parameters, that is, the lambda term <math>((m A) B)</math> shall be equivalent to the usual infix notation <math>A \to B</math>.

An arbitrary formula <math>Z</math> can be proved by defining a lambda function <math>N := \lambda p.((m p) Z)</math>, and <math>X := (\textsf{Y} N)</math>, where <math>\textsf{Y}</math> denotes Curry's fixed-point combinator. Then <math>X = (N X) = ((m X) Z)</math> by definition of <math>\textsf{Y}</math> and <math>N</math>, hence the above sentential logic proof can be duplicated in the calculus:[3][4][5]

<math display="block"> \begin{array}{cll} \vdash & ((m X) X) & \mbox{ by the minimal logic axiom } A \to A \\ \vdash & ((m X) ((m X) Z)) & \mbox{ since } X = ((m X) Z) \\ \vdash & ((m X) Z) & \mbox{ by the theorem } (A \to (A \to B)) \vdash (A \to B) \mbox{ of minimal logic } \\ \vdash & X & \mbox{ since } X = ((m X) Z) \\ \vdash & Z & \mbox{ by modus ponens } A, (A \to B) \vdash B \mbox{ from } X \mbox{ and } ((m X) Z) \\ \end{array} </math>

In simply typed lambda calculus, fixed-point combinators cannot be typed and hence are not admitted.

Combinatory logic

Curry's paradox may also be expressed in combinatory logic, which has equivalent expressive power to lambda calculus. Any lambda expression may be translated into combinatory logic, so a translation of the implementation of Curry's paradox in lambda calculus would suffice.

The above term <math>X</math> translates to <math>(r \ r)</math> in combinatory logic, where <math display="block">r = \textsf{S} \ (\textsf{S} (\textsf{K} m) (\textsf{S} \textsf{I} \textsf{I})) \ (\textsf{K} Z);</math> hence[6] <math display="block">(r \ r) = ((m (r r)) \ Z).</math>

Discussion

Curry's paradox can be formulated in any language supporting basic logic operations that also allows a self-recursive function to be constructed as an expression. Two mechanisms that support the construction of the paradox are self-reference (the ability to refer to "this sentence" from within a sentence) and unrestricted comprehension in naive set theory. Natural languages nearly always contain many features that could be used to construct the paradox, as do many other languages. Usually the addition of meta programming capabilities to a language will add the features needed. Mathematical logic generally does not allow explicit reference to its own sentences. However the heart of Gödel's incompleteness theorems is the observation that a different form of self-reference can be added; see Gödel number.

The rules used in the construction of the proof are the rule of assumption for conditional proof, the rule of contraction, and modus ponens. These are included in most common logical systems, such as first-order logic.

Consequences for some formal logic

In the 1930s, Curry's paradox and the related Kleene–Rosser paradox, from which Curry's paradox was developed,[7][8] played a major role in showing that various formal logic systems allowing self-recursive expressions are inconsistent.

The axiom of unrestricted comprehension is not supported by modern set theory and Curry's paradox is thus avoided.

See also

References

Шаблон:Reflist

External links

Шаблон:Paradoxes