I'm struggling to understand truth functionality.

I know that a connective is truth-functional if the truth value of a compound statement formed with that connective is completely determined by the truth values of the input statements.


Truth functional: "and"

  • "I love The Beatles and I hate today's music" is true, as is its converse "I hate today's music and I love The Beatles". Since the truth value of the compound is the same in both variations, the truth value is completely determined by the connective "and", and so the connective "and" is truth-functional.

Non-truth functional: "because"

  • "The sky is blue because sunlight is scattered through the atmosphere." This statement is true, but the converse (i.e. "Sunlight is scattered through the atmosphere because the sky is blue") is not. Since the positions of the input statements affect the truth value of the compound, the connective "because" is not truth-functional.

But I don't understand how to apply this definition to conditionals. In particular, why are the following conditionals truth-functional:

  1. If x = 5, then x + 5 = 10.
  2. If the lines are parallel, then the lines do not have a point in common.

...whereas these are not:

  1. If the match is struck, then it would light.
  2. If Shakespeare didn't write Hamlet, then someone else would have.

Is it because in 1) and 2) the antecedent and consequent can be switched without affecting the truth value of implication, whereas this is not the case in 3) and 4)?

I'm not sure how we'd even switch the antecedent and consequent in 3) and 4), since these statements are written in the subjunctive. Does "would" remain in the consequent of the converse as well? So, for example, would the converse of 4) be "If someone else wrote Hamlet, Shakespeare would not have"?

I've seen this post, but it's still not clear to me why 1) and 2) are truth-functional, while 3) and 4) are not.

  • 1
    You seem confused about the definition of truth-functional: In logic, a truth function is a function that accepts truth values as input and produces a unique truth value as output... Classical propositional logic is a truth-functional logic...and every logical connective is truth functional...On the other hand, modal logic is non-truth-functional. Thus it doesn't depend on the sequence of the constituent statements, and efficient causality is known to be extremely hidden and mysterious sometimes in philosophy thus like the modal logic case... Oct 4, 2022 at 4:58
  • Truth functional connectives are an idealization. Nothing in natural language is 100% truth functional. Consider: John pull the burgers out of the freezer and they thawed. Truth functionality, like the law of the excluded middle, is essentially a restriction on the kinds of sentences that are to be considered in a particular logic. The logic is limited and idealized so that you can make firm claims about it. Without such restrictions, there are very few things you could say that don't have exceptions. Oct 4, 2022 at 5:18
  • Throw away whatever resource you read that tells you "truth-functional" has to do with "position of the input statements". And read "Language, Proof & Logic".
    – user21820
    Oct 4, 2022 at 11:52

3 Answers 3


The order of input arguments is not what matters for truth functionality. It is about whether same inputs always give the same output.

With the material conditional "if", for any given combination of input truth values, the output is always the same: (true,true) -> true, (true,false) -> false, (false,true) -> true, (false,false) -> false. No matter which sentences you insert for the antecedent and the consequent, if the sentence on the left-hand side is true and the right-hand side is false, then the conditional statement will definitely be false. If both component sentences are false, then the conditional will definitely be true. Similarly for "and": Two true conjuncts will always make for a true conjunction, and (true,false), (false,true), (false,false) will always produce false.

In contrast, in your "because" example, the reason why it's not truth functional is that although in both sentences you have the same input truth values - (true, true), because the parts on both sides of the "because" are true - the output (the truth value of the combined "because" sentence) is true for the first sentence, whereas the second one is false. The swapping of the component sentences is only relevant insofar as it demonstrates that the input truth values are unchanged, (true, true) in both cases, but it gives a different output, true in one case and false in the other. So it can not be a function.

The same reasoning goes for "would". "The match is struck" and "The match lights" are supposedly both false in the actual state of affairs, and the conditional sentence "If the match were struck it would light" is true, so we have (false,false) -> true. But there are many other examples where a false antecedent and a false consequent do not make for a true would-counterfactual, e.g. "If pigs had wings, grass would be purple". The input is again (false,false), but the output is false, unlike in the previous example. Two same inputs, (false,false), yield a different output, true in the first example and false in the second. So the truth value of a "would" conditional can not depend just on the truth values of the antecedent and the consequent.

You can probably find a similar example for your 4. on your own.


It's not about being able to switch antecedent and consequent. You are able to switch antecedent and consequent when the conditional is also a biconditional. That's a separate thing.

Here's what it is about. What you call a "truth-functional implication" is also known as a material conditional. The truth table for a material conditional A -> B is:

A B | A->B
F F | T
F T | T
T F | F
T T | T

Now consider statement 3: "If the match is struck, then it would light."

What happens if the match happens to be soaking wet, the match is not struck, and the match doesn't light? Is the statement, "If the match is struck, then it would light" true in that case?

Answer: it is not true, because the match is wet. If you struck it, it wouldn't light.

Now let's see what the truth table for material conditional says. A = "the match is struck," B = "the match lights." The relevant line of the truth table is "F F | T", indicating that the material conditional "A -> B" would be true.

This means that "If the match is struck, then it would light" can't be a material conditional; it is false under conditions when the material conditional is true.

A similar thing holds for statement 4. "If Shakespeare didn't write Hamlet, then someone else would have" is a false statement. If Shakespeare didn't write Hamlet, someone else might have written a similar play, but it's very unlikely that they would have exactly written Hamlet. (See Amleth though).

But the row of the truth table for statement 4, if we interpret it as a material conditional, is again "F F | T"; "Shakespeare didn't write Hamlet" is false, "someone else wrote Hamlet" is false, and therefore the conditional is true. So, "If Shakespeare didn't write Hamlet, then someone else would have" can't be a material conditional; it is false under conditions when the material conditional is true.

Both statements 3 and 4 are subjunctive, or counterfactual statements; they say what would happen, if the actual state of affairs were set up to be the antecedent. Subjunctive statements are different from material conditionals. They don't ask what is the case, and so their truth values do not simply depend on the truth values of their antecedent and consequent. They ask what would be the case.


Material implication (a truth-functional conditional) applies to pairs of logical propositions that are both unambiguously either true or false at the same instant in time, usually the present IIUC.

  1. If x = 5, then x + 5 = 10.

This is a material conditional since both "x = 5" and "x +5 =10" can be thought of as logical propositions in the present.

  1. If the match is struck, then [the match] would light.

This is not a material conditional. It is a non-truth functional conditional IIUC. While the proposition "if the match is struck" is about the state of the match at the present time. The proposition "the match would light" is, however, presumably about its hypothetical state in the future.

EDIT: "If the match is struck, then the match is lit" would be a material conditional since, in both the antecedent and the consequent, we would then be talking about the state of the match in the present.


You must log in to answer this question.

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