Paradoxes and fuzzy logic
Introduction
Fuzzy logic/Formal fuzzy logic is a relatively new chapter of formal logic. Its aim is to represent predicates which are vague in nature as big, near, or similar (for example), and to formalize the reasonings involving these predicates. While fuzzy logic is mainly devoted to the applications, it furnishes solutions to some famous paradox.
The heap paradox =
To show an example of approximate reasoning in fuzzy logic we refer to the famous "heap paradox". Let n be a natural number and denote by Small(n) a sentence whose intended meaning is "a heap with n stones is small" (n is a numeral to denote n). Then it is natural to assume the validity of the atomic formula Small(1) and, for every n, the validity of Small(n) → Small(n+1).
On the other hand from these formulas given any natural number n, by applying MP (Modus Ponens) rule several times we can prove that a heap with n stones is small. Indeed,
- from Small(1) and Small(1)→ Small(2) by MP we may state Small(2);
- from Small(2) and Small(2)→ Small(3) by MP we may state Small(3),
- …
- from Small(n-1) and Small(n-1)→ Small(n) by MP we may state Small(n).
Obviously, a conclusion like Small(20.000) is contrary to our intuition in spite of the fact that the reasoning is correct and the premises appear very reasonable. Clearly, the core of such a paradox lies in the vagueness of the predicate " small" and therefore, as proposed by Goguen (1968/69), we can refer to the notion of approximate reasoning to face it. Indeed it is a fact that everyone is convinced that the implications Small(n) → Small(n+1) are very close to the truth but not completely true, in general. We can try to "respect" this conviction by assigning to these formulas a truth value λ very close to 1 but different from 1. Then, for example, we can express the hypothesis of the heap paradox by the following fuzzy theory
- Small(1) [to degree 1]
- Small(2) [to degree 1]
- ...
- Small(10.000) [to degree 1]
- Small(10.000)→ Small(10.001) [to degree λ]
- Small(10.001)→ Small(10.002) [to degree λ]
- ...
In accordance, the Heap Paradox argument can be restated as follows where we denote by λ(n) the n-power of λ with respect to ʘ.
- Since Small(10.000) [to degree 1]
- and Small(10.000)→ Small(10.001) [to degree λ]
- we state Small(10.001) [to degree 1ʘλ = λ(1)]
- since Small(10.001) [to degree λ]
- and Small(10.001)→ Small(10.002) [to degree λ]
- we state Small(10.002) [to degree λʘλ = λ(2) ]
- . . .
- since Small(10.000+n-1) [to degree λ(n-1)]
- and Small(10.000+n-1) → Small(10.000+n) [to degree λ]
- we state Small(10.000+n) [to degree λ(n-1)ʘλ = λ(n)].
In particular, we can prove Small(10.000+10.000) at degree λ(10.000) . Now, this is not paradoxical. Indeed if is Łukasievicz triangular norm, then λ(n) = max {nλ-n+1, 0}. As a consequence, we have that λ(n) = 0 for every n ≥ 1/(1-λ). Assume that λ = 1-10-4 then λ(10.000) = 0. In this way we get a formal representation of heap argument preserving its intuitive content but avoiding its paradoxical character.
The argument on the basis of heap paradox enables us to show an interesting fact:
"the induction principle is not valid in fuzzy logic, i.e. we cannot extend such a principle to vague properties".
In fact, assume that the formula
- Small(1) → ((n(Small(n) → Small(n+1)) → n Small(n))
is satisfied at degree μ ≠ 0 and let λ ≠ 1 such that λʘμ ≠ 0. Then, by two applications of MP we can prove n Small(n) to degree λʘμ ≠ 0. This contradicts the fact that n Small(n) is false.
The Poincaré paradox
The so called “paradox” of Poincaré refers to indistinguishability by emphasizing that, in spite of common intuition, this relation is not transitive. In fact, let d1,…, dm be a sequence of objects such that we are not able to distinguish di from di+1 and that, nevertheless, that we have no difficulty in distinguishing d1 from dm. Also, consider a first order language with a predicate symbol E to denote the indistinguishability relation and, for every i in N, with a constant ci to denote di. Then it is natural to consider the theory defined by the following formulas:
E(c1,c2),…, E(ci-1,ci),..., E(c1,cm), E(x,z)E(z,y) E(x,y).
From such a theory, by suitable applications of the -introduction rule, particularization and MP, we can prove E(c1,cm) and this contradicts the hypothesis E(c1,cm). Consider a value λ very close to 1 and such that λ(m-1) = 0. Then in fuzzy logic we can formalize Poincaré's argument as follows:
Step 1.
- Since E(c1,c2) [at degree λ]
- and E(c2,c3) [at degree λ]
- we can state E(c1,c2)E(c2,c3) [at degree λ(2)].
- Therefore, since
E(c1,c2)E(c2,c3) E(c1,c3) [at degree 1]
- we can state
E(c1,c3) [at degree λ(2)].
Step 2.
- Since E(c1,c3) [at degree λ(2)]
- and E(c3,c4) [at degree λ]
- we can state
- E(c1,c3)E(c3,c4) [at degree λ(3)]
- Therefore, since
- E(c1,c3)E(c3,c4) E(c1,c4) [at degree 1]
- we can state E(c1,c4) [at degree λ(3)]
- ...
Step m-2.
- Since E(c1, cm-1) [at degree λ(m-2)]
- and E(cm-1,cm) [at degree λ]
- we can state E(c1, cm-1)E(cm-1, cm) [at degree λ(m-1)]
- Therefore, since E(c1, cm-1)E(cm-1, cm)E(c1, cm) [at degree 1]
- we can state E(c1, cm) [at degree λ(m-1)].
Thus, such a proof entails that the conclusion E(c1,cm) is true at least at degree λ(m-1) = 0 (no information). This is not paradoxical.
The Liar paradox
In the Liar paradox one considers a sentence S that asserts its own untruth. More precisely, if S* is a name for such a sentence, then such a sentence satisfies
S ↔ ¬True(S*).
If we admit, in accordance with Tarski's point of view, the equivalence
True(S*) ↔ S,
we can infer
(*) True(S*) ↔ ¬True(S*).
This is a contradiction in classical logic. In multi-valued logic (and therefore in fuzzy logic) such a conclusion is not paradoxical at all since it is sufficient to admit that the truth value of True(S*) is 0.5 (see Zadeh 1979). Indeed in fuzzy logic usually one interprets the negation with the function 1-x and therefore in such a case both the sentences True(S*) and ¬True(S*) assume the value 0.5. In accordance the formula True(S*) ↔ ¬True(S*) holds true.
It is well known that the proof of Gödel's incompleteness theorem uses a self-referential statement which is similar to the one in the Liar paradox. Namely, instead of True(S*) one considers Theorem(S*). A depth analysis of such a such a sentence in the framework of fuzzy logic and related with Peano arithmetic can be find in Hájek et al. 2000.
Be sure to replace "Needs" in "Needs Workgroup" below with a workgroup name. See the "Workgroups" link on the left for a list of workgroups.