# A Solution to the so-called Paradox of the Ravens

**The Paradox**

Introduced in the 1940’s by the logician (and once an assistant of Rudolph Carnap) Carl Gustav Hempel, the Paradox of the Ravens (or Hempel’s Paradox, or the Paradox of Confirmation) has continued to occupy logicians, statisticians, and philosophers of science to this day. The paradox arises when one considers what constitutes as an evidence for a statement (a hypothesis).

To illustrate what the Paradox of the Ravens is consider the following:

(H1) All ravens are black

(H2) All non-black things are not ravens

H1 is the hypothesis that ‘All ravens are black’, while H2 is the *logically equivalent* hypothesis that ‘All non-black things are not ravens’. This is represented in standard first-predicate logic as follows:

(1) and (2) are logically equivalent, thus any evidence/observation that confirms H1 must also (equally) confirm H2 and vice versa. However, while it does sound reasonable that observing black ravens should confirm H1, observing a white ball, a red sofa, a yellow shirt, or any non-black non-raven, all of which do confirm H2, also confirm the logically equivalent hypothesis H1 (that ‘all ravens are black’), which does not seem plausible.

Many solutions have been proposed to the Paradox of the Ravens that range from accepting the paradox (that observing red apples and other non-black non-ravens does confirm the hypothesis ‘All ravens are black’) to proposals in the Bayesian tradition that try to measure the ‘degree’ of confirmation. The Bayesian proposals essentially amount to proposing that observing a a red apple does confirm the hypothesis ‘All ravens are black’ but it does so very minimally, and certainly much less than the observation of a black raven confirms ‘All ravens are black’. Clearly, this is not a satisfactory solution since observing a red flower should not contribute at all to the confirmation of ‘All ravens are black’.

One logician that stands out in suggesting an explanation for the Paradox of the Ravens is W. V. Quine, who suggested (in ‘*Natural Kinds*’) that there is no paradox in the first place, since universal statements of the form *All Fs are Gs *can only be confirmed on what he called natural kinds, and that ‘non-black things’ and ‘non ravens’ are not natural kinds. Basically, for Quine, members of a natural kind must share most of their properties, and there’s hardly anything similar between all ‘non-black things’, or all non-ravens.

While statistical/Bayesian and other logical proposals still have not suggested a reasonable explanation for the Ravens Paradox, we believe that the line of thought Quine was perusing is the most appropriate. However, Quine’s natural kinds were not well-defined. In fact, what Quine was alluding to, probably, was that there is a difference between what we call logical concepts and those that are ontological concepts.

**The Source of the Paradox**

The so-called Paradox of the Ravens exists simply because of mistakenly representing both ontological and logical concepts in standard first-order predicate logic (FOPL) by predicates, although, ontologically, these two types of concepts are quite different. First, let us discuss some predicates and how we usually represent them in first-order logic. Consider the following:

Suppose now that we would like to add types to our variables. That is, we would like our logical expressions to be, in computer programming terminology, strongly-typed. Suppose, further, that we also like our predicates to be polymorphic; that is, they apply to objects of a certain type and all of their subtypes. That is, if a predicate applies to objects of type **vehicle**, then it applies to all subtypes of **vehicle **(e.g., **car**, **truck**, **bus**, …) Given this, what are the appropriate types that one might associate with the variables of the predicates above? Here are some possible type assignments:

What the above suggests is that, ignoring metaphor for the moment, the predicate BLACK applies to objects that are of type **physical**. In other words, BLACK is meaningless (or nonsensical) when applied to (or said of) objects that are not of type **physical **— or, equivalently, it makes sense to say BLACK of any object that is of type (or subtype) of **physical**. Similarly, the above says that IMMINENT is said of objects that are of type **event** (and, of course, all its subtypes, so it makes sense to speak of ‘an imminent trip’, an ‘imminent meeting’, imminent election’, etc.). In the same vein the above says that SYMPATHETIC is said of objects that must be of type **human**, and that HUNGRY applies to objects of type **animal**. But how about the predicates in (5) and (6)? What are the most appropriate types that can be associated with the variables in the predicates DOG(*x*) and GUITAR(*x*), or of what types of objects can these predicates be meaningful? The only plausible answer seems to be the following:

(5) and (6) are obvious tautologies, since the predicate DOG applied to an object of type **dog** is always true. Clearly, then, (5) and (6) are quite different from the predicates in (1) through (4) : while the predicates in (1) through (4) are logical concepts, DOG and GUITAR are not predicates/logical concepts, but ontological concepts that correspond to types in a strongly-typed ontology. With this background, let us now go back to the so-called Paradox of the Ravens.

**A Solution to the Paradox**

The apparent paradox in the so-called Paradox of the Ravens was simply due to a logical representation that treated logical and ontological concepts the same, namely by treating both as predicates in first-order logic. We will now show that starting with the traditional first-order logic representation and associating types with variables of all predicates leads to the proper logical representation, where no paradox of the ravens arises.

Consider the gradual representation of ‘All ravens are black’ in a strongly-typed polymorphic logic, and the explanation of every step that follows:

What we have in (1) is a straightforward translation of ‘All ravens are black’ to first-order logic. In (2), the most appropriate types are associated with every variable of every predicate. In (3), *x *is associated with more than one type in a single scope, and thus a type unification is performed between **raven** and **physical**, the result of which is shown in (4). In (5), RAVEN(*x* :: **raven**) is replaced by **true** since the predicate RAVEN applied to objects that are of type **raven** is always true. In (6) the type of *x* is associated once and for all with the quantifier taking the widest scope. Finally, (7) is a simplification of (6) since (if **true** then P) is equivalent to P.

Let us now do the same for the equivalent hypothesis, ‘All non-black things are not ravens’:

Again, in (1) we have a straightforward translation of ‘All non-black things are not ravens’ to first-order logic. In (2), the most appropriate types are associated with every variable of every predicate. In (3), a type unification is performed between **raven** and **physical**, the result of which is shown in (4). In (5), RAVEN(*x* :: **raven**) is replaced by **true** since the predicate RAVEN applied to objects that are of type **raven** is always true, and in (6) we replace ~**true** by **false**. In (7), and since all occurrences of *x *have the same type, the type of *x* is associated once and for all with the quantifier taking the widest scope. Finally, in (8) and (9) simplifications are made using

(P **implies** Q) = (-P \/ Q), and (P \/ **false**) = P.

What the above shows is that identifying the difference between ontological and logical concepts (by making our logic strongly-typed and polymorphic) results in the same logical formula for (1) and (2):

In both cases, therefore, we have one and the same hypothesis, namely: for any object *x *that is of type **raven**, the property BLACK is true of *x*. In both cases, therefore, the two hypothesis are confirmed (and disconfirmed) by the same observations, and, *Paradox of the Ravens* no more!

** Summary**: logic is not the villain. But for logic to work in reasoning beyond mathematical objects, the logic must be a strongly-typed, polymorphic logic where an ontological structure is ‘embedded’ in the system.

(*comments/feedback/corrections/etc are very welcome*)