I do not understand how the contraposition "all non-black objects are not ravens" is logically identical to "all ravens are black." I see that IF all ravens are black, THEN all non-black objects are not ravens. But I fail to see how IF all non-black objects are not ravens, THEN (necessarily) all ravens are black. Suppose I say "all unicorns are white." The contraposition, "all non-white objects are not unicorns," is obviously true. However, it does not seem to follow from "all non-white objects are not unicorns" that "all unicorns are white." If that were the case, I could also say "all non-blue objects are not unicorns," which is true because there are no unicorns, and therefore it must be true that "all unicorns are blue." This is a contradiction, since we have already said that all unicorns are white.

You could make the case that, there being no unicorns, all unicorns actually are blue and are white. But then I am not able to posit any imaginary object with any specific traits, because any object that doesn't exist in the real world will have all traits, and therefore they will all be the same.

Part of the problem here comes from mixing abstract concepts with real-world objects. When we say "all ravens are black," how do we know what a raven is? It seems that any definition must break down into a series of statements of the same form ("all ravens are..."), which are then subject to empirical validation, which ultimately means we have to define a raven before we can make a statement about what constitutes a raven. This is quite different from how math works, where we can define a square in certain terms and be sure that it is always true because of how we defined it.

But my particular concern is the logical equivalency of a statement and its contraposition, which does not seem correct in the case where the object in question does not exist. If the two statements are not always and everywhere equivalent, then they can't be substituted for one another. For that reason, non-black objects that aren't ravens cannot be considered to confirm the notion that all ravens are black.

• There is no contradiction between "all unicorns are white" and "all unicorns are blue". Unless unicorns exist. Should you ever encounter a unicorn, however, then presumably that observation makes you retract one of your "all non-X objects are non-unicorns" – Hagen von Eitzen May 14 '19 at 19:41
• In another interpretation, observinf a non-black object that is a non-raven is simply not helpful at all. Just as observing a raven that is black is not helpful: It leaves your hypothesis that all ravens are black completely untouched.Then a agin, the only way for an observation to nontrivially act upon a hypthesis is to falsify it. That's what would happen if you ever observe a raven that fails to be black. In fact, the same would happen if you ever observe a non-black object that failt to be a non-raven. (Observing a pink raven matches both of these cases) – Hagen von Eitzen May 14 '19 at 19:46
• Incidentally, while the implication $(P\to Q)\to(\neg Q\to\neg P)$ is provable constructively, the converse is not. So constructively, you would be fine in being okay with "all unicorns are white" implying "all non-white objects are not unicorns" while not being okay with the implication going the other way. – Derek Elkins left SE May 14 '19 at 20:16
• I am neither a logician nor a mathematician, so I can't argue against the proposition that it is logical to say "all unicorns are white" and "all unicorns are blue" without contradiction. It certainly seems wrong, though. It seems like a database null: since unicorns don't exist, it isn't correct to say that they have any characteristic, or don't have any characteristic, nor are they equal to any other object. – Derek May 14 '19 at 20:31

If all non-black objects are not ravens, then any raven that isn't black would be a contradiction, so all ravens are black.

Another way to understand this is to write "all ravens are black" in predicate logic as $$\forall x(Rx\to Bx)$$ (i.e. for all $$x$$, if $$x$$ is a raven then $$x$$ is black), and similarly write "all non-black $$x$$ are non-ravens" as $$\forall x(\neg Bx\to\neg Rx)$$. These are equivalent because $$Rx\to Bx$$ is equivalent to $$\neg Bx\to\neg Rx$$.

Note that $$p\to q$$ just means $$p$$ is false and/or $$q$$ is true; the $$\to$$ doesn't have any cause/effect meaning. Therefore, you can prove the one-$$x$$ equivalence with a truth table.