Lots of interesting discussion in this thread. This is a fun problem, and I wanted to give some perspective of how this would be approached in math. Primarily to provide a mathematical approach and compare with the logical approach since there is a lot of discussion as to if this is a math problem or a logic problem or something else. This is going to be long, but it isn’t very complicated or math intensive, it is just a lot of terms that need to be explained and I give examples.

In logic we use propositions (statements that are either absolutely true or absolutely false). Some examples of propositions are “6 is an even number” or “2 is an odd number”. The first is true, the second is false. Like with variables in math we use symbols such as P and Q to denote propositions.

We can also create open sentences. Open sentences are propositions that use variables. For example we could say P(x) is the open sentence that “x is an even number”. Open sentences aren’t propositions until you plug in a specific value since the truth value depends on what you plug in. So P(2) would mean “2 is an even number”, which is true. But P(3) is false since 3 isn’t even.

We can use this to create an open sentence, let’s use G(x), for “x is a green yoyo”.

Next I want to talk about logical negation. The negation of of a proposition P is denoted ~P and we read it as “not P”. In language we can think of this as the “opposite” meaning of the proposition. If P is “2 is an even number”. Then the opposite would be “it is not the case that 2 is an even number”, or more shortly: “x is an odd number”.

More formally, the negation of P is the proposition that has the opposite truth value of P. When P is true, ~P is false, and when P is false, ~P is true.

This is important because we know Pinocchio lies. We can interpret that logically as that for any proposition (let’s call it P) that Pinocchio gives us, then ~P must be true, since P is a lie.

We can combine propositions such as with and and or. For instance we can have P mean “2 is even” and Q mean “6 is odd”. So P is true, and Q is false. We can use the symbol ∧ to mean “and”. If we say P ∧ Q, we are saying that if P is true and Q is true, then P ∧ Q is overall true. Here we know Q is false, so P ∧ Q overall is false since P and Q are not both true. Similarly we have the symbol ∨ which mean “or”, it is true when P or Q is true. So since P is true, the statement P ∨ Q is true.

In logic and math we are often interested in conditional statements. These are statements of the form P => Q. Read as “P implies Q” or “If P, then Q”. We call P the antecedent and Q the consequent. We have seen the truth table for this which brings up the concept of a vacuously true statement. A vacuously true statement is effectively nonsensical situation where P is false. In normal language something like “if pigs can fly, then the kool-aid man will crash through the door” is vacuously true, because “pigs can fly” is a false statement. In math we can see how this isn’t very useful if we say something like “1 > 2 => 3 is even”.

This isn’t very useful because the antecedent is a contradiction since 1 is not greater than two. Some other examples of contradictions in math are 1=2, 2 is odd, 1 is a prime number, etc.

We can also negate a conditional statement which would be ~(P => Q). I will leave the details out because this is going to be too long as it is, but the negation ~(P => Q) is the same as the statement P ∧ ~Q (this can be verified with a truth table). Which is read “P and not Q”.

Let’s use this negation with this conditional statement: “if x is a square, then x is a rectangle”. The negation is “x is a square and x is not a rectangle”. The original statement said every square x is a rectangle. Now the negation says there exists a square that is not a rectangle.

Next I want to talk briefly about sets and set membership. A set is a collection of things. Often in math those are mathematical things. But you can have a set of shapes, colors, names, birthdays, t-shirts, or whatever you want.

Things that are part of the set are called elements. We create a set by using curly braces for example A = {1, 2, 3} is the set containing the numbers 1, 2, and 3. If we want to say something is in a set we use this notation: 1 ∈ A. We say “1 is an element of the set A”. If something is not in a set we put a slash through the ∈ like this: 4 ∉ A. We say “4 is not an element of the set A”. Sets can be infinitely large as well, we can denote a pattern with trailing … like so: Z = {…, -3, -2, -1, 0, 1, 2, 3…} which is the set of integers (all whole numbers). The dots show the pattern continues in both directions.

There is also a special set called the empty set, denoted Ø or {}. This is the set that contains nothing.

Since Ø contains nothing, saying something like x ∈ Ø is a contradiction (false statement) because it is stating that there is an element inside of a set which is empty.

So we could create a set, call it Y, that is the set of all of Pinocchio’s yoyos.

To recap: Y is the set of Pinocchio’s yoyos. G(x) is the open sentence “x is a green yoyo”. Using our conditional statement we can write what Pinocchio told us:

y ∈ Y => G(y)

This says that if y is a yoyo in the set of Pinocchios yoyos, then y is a green yoyo. In other words, “all of pinocchio’s yoyos are green”.

This is where vacuously true comes up, because Y could be the empty set. If Y is the empty set then y ∈ Y is a contradiction which causes the whole statement to be vacuously true. This situation is addressed in the video, but I want to talk about why this doesn’t end up being such a big deal in math.

Earlier I talked about the antecedent and the consequent. There is another thing called a hypothesis. The hypothesis tells us more information about the context in which we are working, but the information is not part of the conditional statement. For example if I have the conditional statement: “If n is even, then n is a multiple of two”, we can provide more context about n by saying “Let n ∈ Z. If n is even, then n is a multiple of two”. This is how you would see it written in a math textbook rather than only having the conditional statement. This is due to math being about formal rigor and it is important to explicitly state what objects you are working with, where they come from, and what properties they have. Even if it is obvious that any even number will have to be an integer, we still state this in math.

This brings me to my next point. Often times we use sets in our conditional statements. Due to this observed problem about vacuously true statements we usually start with a hypothesis stating: “Let A be a **nonempty** set. If x ∈ A, then ____”. This tells us that A is nonempty, so x ∈ A is not a contradiction, which means it cannot be a vacuously true statement.

This is the approach that math often takes. We are only interested in the sections of the truth table that have to do with P being true. So we craft our problems in a way to ensure P is true, and then using that information we work to show that Q follows from P.

So in math it would be more likely to encounter this problem: Pinocchio always lies. Let Y be the **nonempty** set of all of Pinocchios yoyoys. Then pinocchio says: “all my yoyos are green”. What can we conclude?

Then we would start working on the problem:

Pinocchio is telling us that y ∈ Y => G(y) and we know Y is nonempty.

Pinocchio always lies, so the negation of y ∈ Y => G(y) is true.

The negation of y ∈ Y => G(y) is y ∈ Y ∧ ~G(y).

This means “there is a yoyo in pinocchio’s set of yoyos and it is not green”.

So we would conclude (in a math context), there is at least one yoyo in Pinocchio’s collection that is not green.

This may sound like we are just ignoring the vacuously true thing and never need to check that sets are nonempty, but this is not the case. There was a professor at my university that told a story of a colleague that was working on their PHD at the same time as my professor. His colleague was working on a dissertation studying the properties of elements of a certain set. While finishing up the dissertation he decided to give a presentation to some other math grad students. During the presentation someone raised their hand and pointed out the set he was studying was empty. The presenter checked and realized that the person was correct. This meant that the entire dissertation that depended on researching a particular set was effectively useless, because all of his results were just vacuously true since they all started by using an element of an empty set. Luckily he was able to re-frame his work for another related set that isn’t empty. So yes, we still worry about verifying a set is non-empty, but once we know that is the case we just make it evident to avoid the vacuously true cases that don’t give useful mathematical insight.

I hope this has shown a bit of difference in approach between philosophers interested in formal logic and mathematicians that are interested in utilizing formal logic for mathematical insight.