# Still struggling to understand vacuous truths

I know, I know, there are tons of questions on this -- I've read them all, it feels like. I don't understand why $(F \implies F) \equiv T$ and $(F \implies T) \equiv T$.

One of the best examples I saw was showing how if you start out with a false premise like $3=5$ then you can derive all sorts of statements that are true like $8=8$ but also false like $6=10$, hence $F \implies T$ is true but so is $F \implies F$.

But for me examples don't always do it for me because how do I know if the relationship always holds even outside the example? Sometimes examples aren't sufficiently generalized.

Sometimes people say "Well ($p \implies q$) is equivalent to $\lnot p \lor q$ so you can prove it that way!" except we arrived at that representation from the truth table in the first place from disjunctive normal form so the argument is circular and I don't find it convincing.

Sometimes people will use analogies like "Well assume we relabeled those two "vacuous cases" three other ways, $F/F, F/T, T/F$ -- see how the end results make no sense?" Sure but T/T makes no sense to me either so I don't see why this is a good argument. Just because the other three are silly doesn't tell me why T/T is not silly.

Other times I see "Well it's just defined that way because it's useful"... with no examples of how it's indeed useful and why we couldn't make do with some other definition. Then this leads to the inevitable counter-responders who insist it's not mere definition of convenience but a consequence of other rules in the system and so on, adding to the confusion.

So I'm hoping to skip all that: Is there some other way to show without a doubt that $(F \implies q) \equiv T$?

• Are you looking for an explanation why this is true, or a proof? Apr 5, 2018 at 19:37
• One time, as Bertrand Russell was explaining vacuous truth to his class, and a student challenged him to prove that, if one plus one is one, he was the Pope. Russell said, “I am one. The Pope is one. One plus one is one. Therefore, I and the Pope am one.” Apr 5, 2018 at 23:59
• That seems more like a word game than an actual example though Apr 6, 2018 at 0:13
• Implication is a promise: I promise you that if $x$, then $y$. If $x$ is not true, then regardless of the value of $y$, I haven't violated my promise. After all, my promise only comes into effect when $x$ is true. The only way I can violate my promise is if $x$ is true, but $y$ fails to hold (i.e. $x \land \overline{y}$). Apr 6, 2018 at 18:02
• "If you build it they will come". You can't complain about them not coming if you haven't built it. Apr 7, 2018 at 23:05

I've never been satisfied with the definition of the material implication in the context of propositional logic alone. The only really important things in the context of propositional logic are that $$T \Rightarrow T$$ is true and $$T \Rightarrow F$$ is false. It feels like the truth values of $$F \Rightarrow T$$ and $$F \Rightarrow F$$ are just not specified by our intuition about implication. After all, why should "if the sky is green, then clouds are red" be true?

But in predicate logic, things are different. In predicate logic, we'd like to be able to say $$\forall x (P(x) \Rightarrow Q(x))$$ and have the $$x$$'s for which $$P(x)$$ is false not interfere with the truth of the statement.

For example, consider "among all integers, all multiples of $$4$$ are even". That statement is true even though $$1$$ is not even (an instance of $$F \Rightarrow F$$). It's also true even though $$2$$ is even despite not being a multiple of $$4$$ (an instance of $$F \Rightarrow T$$).

But now in classical logic, every proposition has a single truth value. Thus the only way to define $$\forall x R(x)$$ is "for every $$x$$, $$R(x)$$ is true". We can't define it in some other way, like "for every $$x$$, either $$R(x)$$ is true or $$R(x)$$ is too nonsensical to have a truth value". Thus we are stuck defining $$F \Rightarrow T$$ and $$F \Rightarrow F$$ to both be true, if $$\forall x (P(x) \Rightarrow Q(x))$$ is going to behave the way we want.

In a different system of logic, we might do things differently. But in classical logic, "every proposition has a truth value" is basically an axiom.

• +1. Note also that in applications of propositional calculus where the intention is not to use it as a stepping stone towards some kind of predicate calculus later on (e.g. in Boolean algebras or digital logic), the $\to$ connective is usually either very downplayed or completely absent. It's simply not a terribly useful connective without being placed under something that works somewhat like a universal quantifier. Apr 5, 2018 at 20:05
• @HenningMakholm In the context of the Curry-Howard correspondence, the very notion of a "truth table" is a non-sequitur. Apr 5, 2018 at 21:01
• It's not immediately obvious why we need to say things like $\forall x (P(x) \implies Q(x))$. What we actually care about and want to express looks more like $\forall x \in \{x | P(x)\}: Q(x)$. The point is that the $P(x)$ part would belong to the quantifier, not the formula. Why must we talk about all $x$'s if we only want to make a statement about those for which $P(x)$? Apr 6, 2018 at 16:16
• @isarandi When you have set theory available to you, you can do that. But generically predicate logic does not have a background set theory to lean on, so instead it must fix a single domain of discourse and talk about that domain of discourse using only quantifiers over that domain and predicates. Also, even with a background set theory, the definition of this "domain attached to the quantifier" is through the implication operator anyway (in classical logic, of course).
– Ian
Apr 6, 2018 at 16:20
• @isarandi: It's not that we must do it that way, but that it is considered to be convenient to split the construction into two parts: one that deals with the idea of "everything in the universe has this property" and another that simply applies a certain truth table. Each of those parts is simpler to define the semantics of than the whole, and simpler to reason about than the whole. The only thing that (with some regularity) gets people thrown off is calling the truth-table part "implication" or "if ... then". Apr 7, 2018 at 17:55

Given that we want the $\rightarrow$ to capture the idea of an 'if .. then ..' statement, it seems reasonable to insist that $P \rightarrow P$ is a True statement, no matter what $P$ is, and thus no matter what truth-value $P$ has.

So, if $P$ is False, then we get $\boxed{F \rightarrow F = T}$

It is likewise reasonable to insist that $(P \land Q) \rightarrow P = T$, again no matter what $P$ and $Q$ are.

So, if $P$ is True, and $Q$ is False, we get: $(T \land F) \rightarrow T = \boxed{F \rightarrow T = T}$

• Oh wow this is an excellent argument too, +1 Apr 7, 2018 at 1:34
• @user525966 Glad you like it! :) Apr 7, 2018 at 13:59
• (Apologies for violating SE policy) You are my favourite logic-tag Answerer in MSE! Sep 9, 2021 at 17:50
• I used the argument that we wanted to insist on (P→(Q→P)) as a tautology a while back in some comment (and (P→P) also). Of course though, this is just the exportation of ((P∧Q)→P). Nice answer! Sep 9, 2021 at 17:53
• @RyanG Awww, thank you!!! 😊 I have been noticing your good work as well!👍👍 Sep 9, 2021 at 23:51

Other times I see "Well it's just defined that way because it's useful"... with no examples of how it's indeed useful

OK, then let's give an example of a real-world use case. I'm a computer programmer by trade, but I also am concerned with the meta-problem of how we know when a program is correct. That is, I use static analysis to understand programs; "implies" as it is defined is extremely useful in this analysis.

Let's suppose I have a list of orders and a reference to a customer, and I happen to know that if the reference is valid, then the list contains at least one order:

if (customer != null)
{
Assert(orders.Count() > 0);
Print(orders.First());
}


"Assert" crashes the program if the condition is false.

Let us call a computer program which crashes an "F" program and one which runs without crashing a "T" program.

Now let's look at the truth table of this little program fragment.

cust != null  orders.Count() > 0  Program classification
-----------------------------------------------------
True          True                 T -- because the assertion succeeds
True          False                F -- because the assertion crashes
False         True                 T -- because the assertion never runs at all
False         False                T -- because the assertion never runs at all


Now suppose we had an implies operator in this language. We would want to be able to rewrite our program as

Assert(customer != null  implies  orders.Count() > 0);
if (customer != null)
{
Print(orders.First());
}


without changing the categorization of the program. In order to maintain the meaning of the program, the truth table of binary operator A implies B must be the same as (NOT A) OR B.

That's why "implies" as defined is useful. It lets us reason accurately and concisely about the correctness of computer programs that contain conditional statements.

Now, you might argue that "implies" is the wrong word to use, because "implies" is imbued with some meaning that you think does not match this truth table. But that's a fact about your intuition; it doesn't change the fact that this operator is useful as defined for reasoning logically about the correctness of programs.

In this case it is probably a good idea to think of (classical) implication as inclusion in the following sense:

$\varphi \Rightarrow \psi$ holds if the set of witnesses of $\varphi$ is a subset of the witnesses of $\psi$.

An example:

If a natural number is a prime greater than $2$, then the number is odd.

This amounts to saying that the set of primes greater than $2$ is a subset of the odd natural numbers.

The set of witnesses of $\textsf{false}$ is the empty set $\emptyset$.

Consequently, $\textsf{false} \Rightarrow \psi$ is true if $\emptyset$ is a subset of the witnesses of $\psi$. And this is of course always the case.

First, I think the way "implication" is defined is a convention -- I can't imagine a proof that implication should be defined the way it is. I assume it is modeled after the way people traditionally think about "if... then..." statements.

So, here's how I think about it.

Suppose I tell you,

If it rains, I'll let you borrow an umbrella.

Now, if it doesn't rain, could I have lied to you? I think, the only way my statement can be considered untruthful, is when it rains yet I don't give you my umbrella. And since logical statements are always either true or false, any statements that aren't false must be true (in this case "rain, and give umbrella" and "not rain, and [give or don't give]").

So, I think of vacuous truth as a kind of "lawyer's truth" (sorry, all you lawyers out there!); nobody technically lied, so we'll agree that they told the truth.

Anyway, the whole "vacuous truth" business is kind of moot for me personally, because I've only really cared about using implications when it comes time to prove things, and this requires modus ponens; once we know $P$, and that $P \implies Q$, we know that $Q$ also holds. So, I don't find a lot of use for $P \implies Q$ statements, when $P$ isn't true.

• If you find it moot, it's because you haven't been proving enough things formally. Especially when using strong induction: $\forall n\in\mathbb{N}\ ( \forall k\in\mathbb{N}\ ( k<n \to P(k) ) \to P(n) ) \to \forall n\in\mathbb{N}\ ( P(n) )$. The base case is explicitly a vacuous truth. =) Apr 6, 2018 at 5:42

It can also be useful to think of falsehood operationally : if a statement schema is false, there is an assignment of the variables in the schema which provides a witness to falsehood. A non-propositional example in the universe of integers is "$x = 5$", which is false as witnessed by the assignment $x \mapsto 0$.

The propositional schema $X \implies Y$ has the variables $X$ and $Y$ and those take values in the universe of propositions. So let's look at the relation of $X$ to $Y$ across the universes of discourse. I choose to present these relations using Venn diagrams. In these schematic diagrams, points represent universes, the colored regions contain (all the) points where the proposition labelling the region is true. First we cover the nonvacuous cases.

Here, every universe in which $P$ is true also has $Q$ is true. Consequently, there is no witness to the falsehood of $P \implies Q$. Therefore, if we find ourselves in a universe where $P$ is true, we are in a universe where $Q$ is true.

Now a pair of relationships which we may discuss simultaneously.

In both of these, there are universes in which $P$ is true and $Q$ is false. (Having found a witness, there is no need to inspect the other universes, for instance, where $P$ is false and $Q$ is true.) Each of those is a witness to the falsehood of $P \implies Q$, so the implication is false. Therefore, if we find ourselves in a universe where $P$ is true, $Q$ need not be true.

Finally, we come to the subject of your question, implication with a vacuous antecedent.

$P$ is always false -- that is, there is no universe in which $P$ is true. Consequently, there are no witnesses to the falsehood of the implication $P \implies Q$. Therefore, $P \implies Q$ is true.

"Every time I have cut off both of my hands using a wooden spoon, fluffy puppies have poured forth from the stumps and I have spent hours petting them." Since I have never cut off both of my hands using a wooden spoon, there is no witness to falsehood and the sentence is true.

• Note that this is basically an illustration of Hans Hüttel's answer. Apr 7, 2018 at 1:47
• @wchargin : Well, that answer argues in terms of positive witnesses and this answer argues in terms of negative witnesses. Other than that, they are covering the same ground in similar ways. Apr 7, 2018 at 5:38

$$p\implies q$$ This is read as "$p$ implies $q$", and means that "if $p$ is true, then $q$ is true".

Observe that it says absolutely nothing at all as to what happens when $p$ is false. If $p$ is false, $q$ may be true, may be false, or you could claim that $1+1=3$, and yet, none of this falsifies the implication as it only talks about the particular case when $p$ is true. As long asw $q$ is true whenever $p$ is true, the implication is true.

Now, we have $$F\implies q$$

Here, the antecedent, $F$, is false. Simply by definition false is "not true", and hence, no matter what you claim when "false is true", it is not sufficient to falsify the implication, because false can never be true. This is saying "if false were true, $q$ would be true", but since false is never true, it does not matter what $q$ is - your implication is true as long as $q$ is true whenever false is true.

Consider a concrete example. Let $p(x)$ denote "$x$ is an even prime greater than $2$", and $q(x)$ denote "$x\gt10$" over integer $x$.

Now, what is the set of integers that satisfy $p(x)$? Let this set be $S$. Clearly, the set is the empty set, $S=\phi$. The implication states that the following must be true: $\forall x\in S, q(x)=T$. For the implication the be true, every $x$ in $S$ needs to satisfy $q(x)$.

Here, there is no $x$ such that $x\in S$. So, the entire condition itself disappears. The implication is true, regardless of the truth value of $q(x)$ on any integer $x$, since none belong to $S$.

I addressed this question on the Philosophy Stack Exchange a while back. The general gist of my answer was that we defined ⟹ this way because it was really the only reasonable way to define it. All of the other meanings you could give it were either flat out wrong or could be written as an existing operator.

You do call this way of thinking out in your question. What my answer demonstrates is that all three of the other relabelings (FF, FT, TT) are pointless to add because we already have symbols which have those exact truth tables. Thus, the argument becomes that having a symbol for a particular operation is more valuable than not having the symbol.

What you seek from this question, is an argument that there is no other possible meaning for a symbol, which is silly. It's obvious that there could be other meanings for it. I could choose to declare it to mean addition: 2 ⟹2 = 4. It's just a few lines. I can make them mean whatever I want. I can make ⟹ mean 2 if I really want. You wont find an argument that ⟹ must mean anything, because there is no reason it has to mean anything at all. It's pure convention.

The place where this gets interesting is in the natural language concept "if X then Y," which is typically translated as X⟹Y. The trick is that we, as mathematicians, find that choice of symbology useful. We could have stated that X⟹Y does not produce a statement that has a truth value. Then we could never write X⟹(Y⟹Z), which is where the vacuous truths get interesting. If we assume that ⟹ is a binary operator which produces a truth value, we must define the truth table for it. And that's where my answer goes.

There is nothing wrong with saying "I don't think ⟹ should produce a truth value." All you do is force everyone else who does think it should produce a truth value to write ¬p∨q everywhere they previously wrote p⟹q, because they wrote what they intended to write.

Also, perhaps helpful, may be the implies operator, ⊢. It is fascinating because it is not an operator in predicate logic. It is a metaoperator. It's behavior is not defined in predicate logic at all. It has no truth value, and in fact, the left hand side of the operator is a set of statements, which is a concept predicate logic can't even describe. It shows what happens when you try to define an operator as something outside of the system, rather than defining it as something inside the system (i.e. equivalent to ¬p∨q). Reading about that operation may help you see why people chose to define things the way they did.

I have reproduced my answer below:

## Why is it that when A is false and B is false, we infer that A->B is true?

The short answer is "because we got to define the operators, and we defined -> to have that property. It has proven convenient. As a general rule, you can assume that every single possible operator has been explored at some point in time, and what we have remaining is the set that worked best.

One key thing to remember is that -> is not the "implies" operator. That operator is ⊢, and it has the meaning you are used to from colloquial English. -> is a different concept.

Lets look at a few cases. Here's a truth table which includes the case where A is True, because we all agree on what that part of the table should look like:

A->B    B
F T
+----
A F | ? ?
T | F T


Obviously we have four possible replacements for the question marks: T T T F F T and F F. Of these, we can reject two outright. Consider if we use F T or T F:

(a)A->B             (b)A->B
B            B
F T          F T
+----         +----
A F | F T     A F | T F
T | F T       T | F T


If the operator acted as (a), then the truth table becomes simple. A->B would be true simply if B. There would be no value in ever writing A->B when it would have the exact same meaning as writing B. Option (b) can also be discarded rather easily. There's two problems with it. One major problem is that we already have an operator with this truth table: A=B. The other is that, in this case, F->F is true, which is the problem you had with the normal meaning of -> in the first place!

This leaves two truth tables to explore

(c)A->B             (d)A->B
B            B
F T          F T
+----         +----
A F | T T     A F | F F
T | F T       T | F T


Option (c) is the accepted meaning of ->. Option (d) doesn't provide any value because we already have an operator with this truth table, the conjunction operator A∧B.

Thus, out of all of the operators which have the "sane" behavior when A is true, only the accepted solution, option (c), has any value as an operator.

useful related question mentioned by Mauro
https://philosophy.stackexchange.com/questions/14549/what-is-the-relation-between-the-material-conditional-in-logic-and-conditionals

Suppose we know that $A \implies B$ is true. Part of the semantics is that if $A$ happens to be true, then you can conclude $B$ is true as well.

What if you're in a situation where $A$ is false? The implication is vacuous — you shouldn't be able to learn anything new at all in this situation!

If you had $(F \implies F) \equiv F$, then in a situation where $A$ is false, then you can deduce its impossible for $B$ to be false as well — that is, you can conclude $B$ must be true!

Similarly, If you had $(F \implies T) \equiv F$, then in a situation where $A$ is false, you could deduce that $B$ has to be false.

Setting both of these truth values to $T$ is the only way for you to be unable to learn any new information from combining the fact that $A \implies B$ is true with the fact that $A$ is false.

Let me demonstrate this with an example.

First, I assume we can all agree that the following implication is true:

$x=2 \implies x+1 = 3$

Now, suppose we wanted to solve the following problem:

Solve the equation $x + 5 = 10$

We can proceed as follows:

$x=2$ must be true, since that's the only way for $x=2 \implies x+1 = 3$ to be true.

However, $x=2$ is not a solution to $x+5 = 10$, therefore $x+5 = 10$ has no solutions.

To add to all the great answers, I like to justify the meaning of the symbol for material implication $P \Rightarrow Q$ by appealing to personal affront. When someone states "I always go to the movies when it rains" (which translates to "if it rains then I go to the movies"), how should we react depending on the various states of raining and movie watching? Certainly the main part of this is that we should be terribly mad at the person if it is raining but they're not at the movie theater.

But your question is all about when it is not raining. Suppose the person is at the movie theater? Should we be mad? Of course not. Who cares if they see a movie when it's not raining, they're not lying about it. Suppose the person is not at the movie theater. Again, who cares, are they leading you astray by not being at the movie theater, especially if it is not raining? That's the "Are they lying?" test for logical semantics.

I personally think it is incontrovertible that $F \Rightarrow F = T$, mostly through analogy with English usage, because that is often a real world expectation, namely that if you say one direction you're sort of suggesting the other direction too.

This leaves $F \Rightarrow T$ to be the more questionable one for me. In some sense, we could decide to be mad at this; maybe we want the statement to be symmetric. I think it would not be unreasonable (in the humanistic sense) to expect symmetry. But then the symbol wouldn't be as useful because we could derive a lot of other things from it. Having $F \Rightarrow T = T$ just makes things easier to manipulate logically and produces simpler proofs and matches our intuition a little better (I haven't supported why this is the case, just that 'experience has shown' it to be the case. Like why or $0^0 = 1$, it is a judicious choice that makes life easier later (under most circumstances)..

For this reason, it really is the case that we want the truth table to have the only F value be for $T \Rightarrow F$.

(compare with a truth table for 'or' = $\lor$ in a similar fashion.

Note that, as you intimate, we are deliberately coming up with, creating, a new symbol $\rightarrow$ with given strict properties, and creating it to be useful. So it may well not match everyday intuition or usage of the natural language pattern "If P then Q". It just happens to be the case for the other symbols '$\land$' for 'and', and '$\lor$' for 'or', but those correspondences are easier to accept because they are so much closer (but still nuanced in ways you may not expect). In fact 'or' is at the bottom of the mathematical philosophy wars at the beginning of the 20th c.

If that's true, then we can subtract 3 from both sides and get "0 = 2" which must also be true. Divide both sides by two, and you get "0 = 1" which must also be true.

Now take any two numbers x and y. 0·x = 0, and 0·y = 0, so 0·x = 0·y. But we just showed that 0 = 1. So 0·x = 1·x, and 0·y = 1·y, so 1·x = 1·y or x = y. We have just shown that any two numbers x and y are equal.

Did you know we make exactly the same amount of money every year? Quite obviously, because if you write down your income x, and I write down my incomye y, we've just shown to x = y. I also make a million more, because if you write x which is your income plus a million, and I write y which is my income, then again x = y.

I think you can see how you can prove anything if you just take "3=5" at face value, without any fancy proofs needed, just straightforward naive logic.

You are quoting the definition of the symbol $\implies$. Since a definition sets forth the meaning of a symbol there is no proof of its correctness.

I don't understand why $(F \implies F) \equiv T$ and $(F \implies T) \equiv T$.

The answer might not feel satisfying, nevertheless $(F \implies F) \equiv T$ because it is defined that way. If you do not like it, you can define your own symbol with a definition that feels more reasonable to you.

So what motivates people to choose this definition over others? When you define your own symbol, you probably have an interpretation in your mind for defining it that way and not differently. If you think of possible interpretations for the traditional $\implies$ you will easily come up with interpretations that suggest this particular definition. This thread mentions sets, static analysis of computer programs and natural language as possible interpretations. However, the reader is free to choose an interpretation of her liking or none at all. (For example: Bram28's answer does not delegate to an interpretation). Neither can someone force you to choose the definition matching to her interpretation nor proof to you, that it is the correct definition. And in fact there is disagreement (about interpretations) among the answers:

Compare

After all, why should "if the sky is green, then clouds are red" be true?

and

I think, the only way my statement [If it rains, I'll let you borrow an umbrella.] can be considered untruthful, is when it rains yet I don't give you my umbrella.

and

This is read as "p implies q", and means that "if p is true, then q is true". Observe that it says absolutely nothing at all as to what happens when p is false.

The natural interpretation, that is "$(p \implies q)$" is to be understood as "if p then q", seems to be the most controversial one. None seems to disagree with the set interpretation.

In summary, there is no way to show $(F \implies F) \equiv T$. There are only motivating interpretations which suggest to define a thing in a certain way.

• I think your comparison of my example to the other two examples was missing the point of my example a little bit. The point of my example was really that classical propositional logic has very little to do with how humans think. An if/then statement is not always even meaningful to us: if the antecedent of the statement doesn't happen (or is an inconceivable future event) then the statement is more meaningless than true. Yet material implication declares it true anyway.
– Ian
Apr 10, 2018 at 22:31
• When we move to predicate logic, these issues almost entirely go away. Problems still arise with very small universes of discourse, or with the constant-false predicate as an antecedent. But neither of those degenerate cases come up very often in practice. Instead, we mostly work with reasonably large universes of discourse and non-constant predicates, so that our logic has semantic content.
– Ian
Apr 10, 2018 at 22:31

Theorem. If $1$ is even number, then all positive integers are even.

Proof. Induction.

Is the above theorem true or false?

Theorems in mathematics are usually of the form $A\to B^{[1]}$. So, what does it mean to prove the above theorem? Written logically, we want $\vdash A\to B$, which means $A\to B$ can be proved in the theory. In practice, what we do is assume $A$ and then prove $B$ from $A$, i.e. $A\vdash B$ (this is what we did when we wrote "induction" above, we are explicitly using the premise "$1$ is even" as the base of induction). Deduction theorem tells us that $A\vdash B$ implies $\vdash A\to B$. (Converse to this theorem is proved by modus ponens.)

Any reasonable system should only prove true theorems and that is the case with propositional calculus. Thus, the above theorem is true, although it is of the form $F\to F$.

The moral is that $A\to B$ should be true if we can provide proof of $B$ assuming $A$.

But, do we really need theorems like above? The answer is yes! Well, ok, it is stupid to have theorems where the premise is known to be false, but what if we don't know if it is false or not? Here's a useful theorem:

Theorem. If $V$ is a vector space$^{[2]}$, then $V$ has a base.

And what if $V$ is a module that is not a vector space? Does the theorem somehow become false? No. In that case it doesn't even matter if the conclusion "$V$ has a base" is true or false, the statement itself is true, because there is a proof for it$^{[3]}$. It would be ridiculous if the theorem changed its validity based on what we tried to apply it to.

Take a look at another example:

Theorem. If Riemann hypothesis is true, then [magic].

It is important to study consequences of Riemann hypothesis, or any other interesting conjecture, whether it is true or not. If Riemann hypothesis turns out not to be true, then theorems of the above form will become useless, but not false.

TL;DR: Mathematics would be very weird if $F\to F$ and $F\to T$ wouldn't be true.

$[1]$ This is oversimplified because there is no quantification here, but bear with me.

$[2]$ Add finite-dimensional if you need to.

$[3]$ Unless ZFC is inconsistent. Hopefully, it isn't.

• To be fair, the one about vector spaces is a bit odd, because the statement "$V$ is a vector space" is a sort of "type signature". It thus makes sense to think of that as being a universally quantified statement over the domain of vector spaces, instead of being universally quantified over the domain of everything and then restricted by the antecedent of an implication. And if you do that, then there is no implication operator in that sentence.
– Ian
Apr 11, 2018 at 14:34
• @Ian, I was thinking more in the line of considering all modules. Some are vector spaces and some are not. Also, some have a base and others do not. Does that make more sense? Apr 11, 2018 at 21:53
• Sure, the issue is about the question "when does it make sense to build your universally quantified antecedent into the universe of discourse, and when does it make sense to leave it as a universally quantified antecedent?" Of course sometimes the answer is one and sometimes it is the other, but the answer may depend on context, personal taste, etc. If I don't want to talk about general modules and I just want to talk about vector spaces, your example with vector spaces may not really resonate with me, since to me you could write that with no $\Rightarrow$ operator.
– Ian
Apr 12, 2018 at 0:12

I liked the discussion on page 4 of the book Advanced Calculus by Loomis and Sternberg interesting, which I will quote verbatim below:

We come now to the troublesome 'if ... ,then ... ' connective, which we write as either 'if P, then Q' or $P \implies Q$. This is almost always applied in the universally quantified context $(\forall x)(P(x) \implies Q(x))$, and its meaning is best unraveled by a study of this usage. We consider 'if x < 3, then x < 5' to be a true sentence. More exactly, it is true for all x, so that the universal quantification $(\forall(x))(x < 3 \implies x < 5)$ is a true statement. This conclusion forces us to agree that, in particular, $2 < 3 \implies 2 < 5$, $4 < 3 \implies 4 < 5$, and $6 < 3 \implies 6 < 5$ are all true statements. The truth table for '$\implies$' thus contains the values entered below.

On the other hand, we consider '$x < 7 \implies x < 5$' to be a false sentence, and therefore have to agree that '$6 < 7 \implies 6 < 5$' is false. Thus the remaining row in the table above gives the value 'F' for $P \implies Q$.