So I am a freshman taking an intro class to logic. And the question started off from a class exercise we've got which asked us to identify the covering generalization for the following conditional statement:

"If a bottle of wine is not French, then it is probably not overpriced"

Now, it's clear that we can't simply take the "obvious" contrapositive of this statement to be true, i.e. "if the wine is overpriced, then it is probably French", due to possible difference in set sizes (e.g. 1000 bottles of wine, 400/700 is overpriced non-French wine, 200/300 is overpriced French wine; and 400/1000 > 200/1000).

But a question comes up when my classmate and I considered the variation of this conditional:

"If a bottle of wine is not French, then it is not overpriced / it must not be overpriced"

It would be tempting in this case to take the contrapositive "if a bottle of wine is overpriced, it is French" to be true when it no longer involves probabilities. It seems intuitive having "¬A⇒¬B ⇔ B⇒A" in mind. However, suppose a case for which there are no overpriced wines at all, which I take as possible given it's not an iff statement. Then the contrapositive should be false, as if a bottle of wine is overpriced, it should neither be French nor non-French, or simply that such a bottle of wine does not exist.

My initial thoughts for this is that either:

  1. I am not translating the sentences into formal language properly (at least in terms of propositional notions, given my limited knowledge in logic at this point);
  2. The model is insufficient to describe the scenario as given by the conditional statement in natural language;

Let us suppose 1). My idea would then be it's a result of the vagueness of the expression "the wine is not French", for it could either mean that a) the wine not a member of the set "French", or b) the wine does not have the property/attribute of "French-ness" (I'll refrain from using the word "predicate" for now). Let us denote "wine" to be A and "French" to be B here. Then, by my best attempt to express it formally:

For a): ¬(A∧B); ¬¬(A∧B)⇔(A∧B).

For b): A∧¬(A∧B); ¬(A∧¬(A∧B)) ⇔ ¬A∨(A∧B)

And so the two cases are different, and I would consider case b) as better aligning with my counterexample. Essentially, the negation of "non-French wine", can be taken either as the complement of the set "non-French wine", which would then depend on our domain for all possible objects, or wines that do not have the property of French-ness, such that we exclusively consider the set of wines. It then seems like the key here is to explicitly state that "if x is a bottle of wine and the wine is not French, then x is a bottle of wine and is not overpriced", for which the contrapositive would be "if either x is not a bottle of wine or x is overpriced, then either x is not a bottle of wine or the wine is French". That logically makes more sense intuitively, but the syntax is kind of messed up and I am hardly sure it is equivalent to how we would commonly interpret the original conditional. So some technical concerns do creep in when I think about the sets that are involved here.

Before expounding on the concerns I have, perhaps it might be a good move to define things in terms of FOL notions (supposing my thought no.2 that the model I've used may have been insufficient). For our case, I'll define "wines" as x and assume the domain to be {x_1, x_2, ..., x_n}. Meanwhile, I'll express the predicates "French" as F and "Overpriced" as P. The special thing about our counterexample is that Px = ∅ (P has no extensions / only anti-extensions).

My questions would be as follow:

Does the domain matter here? Would there be nuances between a domain that's exclusively consisting of wines, or a set with other distinct classes of objects? Specifically, in the "corrected" statements I've sketched, I am allowing x to be not wines. But it could as well be that x must be wine, which is mainly why I feel like the "proof" I've got is intuitive but imprecise.

Is it legal for me to consider a predicate that simply does not apply to any object in the domain, and hence to construct a formula that involves such a predicate. If it is legal, however, how might I interpret Px = ∅ as? Is it that Px is unsatisfiable, undefined, or Px definitely takes on falsity? What would ¬Px then be, as opposed to ¬Fx?

I'll admit I have just begun my studies in logic so I do actually hope it is for some principles I haven't yet learned instead of anything too complex.

  • The correct contrapositive of the original claim is “Probably, if x is not overpriced, then x is not both French and a bottle of wine.”
    – PW_246
    Jan 30 at 20:32
  • 1
    You are overthinking it. If there are no overpriced wines then any implication starting with "if a bottle of wine is overpriced..." is vacuously true. In particular, the contrapositive "if a bottle of wine is overpriced, it is French" is still true in this case. Welcome to the paradoxes of material implication, we accept them exactly to make simple logical manipulations universally valid.
    – Conifold
    Jan 30 at 20:47
  • Hey Conifold- thanks for this. I knew something's fishy and the paradox of material implication did cross my mind, but I guess indeed the way I thought about it made me feel like there should be additional stuffs about the statement that made it paradoxical.
    – Alex Li
    Jan 30 at 20:57
  • The contrapositive of "If a bottle of wine is not French, then it is probably not overpriced" is "If a bottle of wine is not probably not overpriced, then it is French", and these two statements are indeed equivalent (by virtue of being each-other's contrapositive), but that's not very enlightening.
    – Stef
    Jan 31 at 15:47

1 Answer 1


In an introductory class in logic, you will learn about a thing called the material conditional, or material implication. The material conditional → is a particular kind of conditional that is a truth function, which means that the truth of A → B depends only on the truth values of A and B and not on any other connection between A and B. The material conditional is a handy conditional for some purposes, but the fact that it does not state a connection between A and B is an important limitation. The material conditional A → B is logically equivalent to ¬A ∨ B and also to ¬(A ∧ ¬B).

We can use the material conditional to represent your sentence as follows:

If a bottle of wine is not French then it is not overpriced

(∀x)(Bx → (¬Fx → ¬Ox))

This is equivalent to saying any bottle of wine is either French, or not overpriced, or both. A material conditional entails its contrapositive, so as you correctly say, it entails:

If a bottle of wine is overpriced it is French

(∀x)(Bx → (Ox → Fx))

This is correct even if there are no overpriced wines. This is because the material conditional is equivalent to ¬A ∨ B, so it is trivially true if its antecedent is false. If there are indeed no overpriced wines then it is also true that if a bottle of wine is overpriced it is poisonous. Or if a bottle of wine is overpriced it is made by magic unicorns.

If this seems odd, that's because it is. Ordinarily we think of conditionals as expressing a connection between A and B. So the material conditional, while useful for many purposes, cannot express something like "necessarily non-French wines are not overpriced", or "were this wine not made by the French it wouldn't be overpriced".

You are also correct to note that the probabilistic conditional

If a bottle of wine is not French, then it is probably not overpriced

does not entail its contrapositive. It is not the case in general that a high value for P(B|A) entails a high value for P(¬A|¬B). So contraposition is not guaranteed to work with uncertain conditionals.

  • Hey Bumble, really thankful for this. While I was stuck I did consider if it's just that what you said about material implication, so it's reassuring to see your explanation. I think my confusion mostly stemmed from how I should interpret the antecedent, i.e. when I determine the truth values can I suppose that a known empty set (Ox) to be non-empty, and a case would occur for Fx is false when Ox is true. But maybe for that I'll have to add it's not necessary Ox is an empty set? In any case, without escalating the question, I think my concern is addressed here.
    – Alex Li
    Jan 30 at 21:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .