Fun Math Challenge!

I found this fun mathematical challenge that I tweaked it into ‘yoyo’ –


Pinocchio ALWAYS lies;
Pinocchio says “All my yoyos are green”

We can conclude from these two sentences that:

  • Pinocchio has at least one yoyo
  • Pinocchio has only one green yoyo
  • Pinocchio has no yoyos
  • Pinocchio has at least one green yoyo

0 voters


ok, so here is the correct answer in a mathematical way.

whatever Pinocchio says it needs to be ALWAYS FALSE. With that in mind, let’s proceed:

If Pinocchio had only one green yoyo, then his statement would be TRUE. Therefore, that option is discarded.

If Pinocchio had at least one green yoyo, his yoyo ‘collection’ could start from 1 yoyo. So, if that would be the case, then his statement would be also TRUE. For that reason, this statement cannot be.

Now here is where it becomes complicated and where math logic begins.

There are only two ways his statement would be mathematically FALSE:

  1. either NONE of his yoyos are green; or
  2. at least one of his yoyos is not green.

Therefore, based on those two statements, Pinocchio has at least one yoyo.

If Pinocchio had no yoyos, his statement could not be completely FALSE. It would be like saying that McDonald’s pizzas are awful.

Hope you enjoyed it.


I took the “all my yoyos” as Pinocchio implying that he had yoyos and therefore a lie as well.


So you’re sayin I’m bad at math?

1 Like

I think there is a problem using the plural of yo-yo. Yo-yo’s implies more than one. So,

  1. Either he is lying about having more than one yo-yo
  2. At least one is not green
1 Like

Lol! It took me (and still takes) time to fully understand/agree with the answer, but here is more or less the explanation in a video:


The answers are incomplete. The correct answer is:
Pinocchio has no yo-yos and all of them are red.

Just wanted to shoutout the game Baba is You if you find puzzles like these interesting. The main puzzle mechanic is a combination of sliding block puzzles and logic puzzles. Specifically, propositional logic. Each puzzle’s rules are laid out on screen like a formula P->Q (if P then Q) and are interactable; you can move around the variables (P’s and Q’s) to change what is true about the the rules you’re playing under and the environment of the puzzle space.

Currently working my way through and it’s quite fun.


What if instead of:

Pinocchio ALWAYS lies;
Pinocchio says “All my yoyos are green”

it was:

Pinocchio ALWAYS lies;
Pinocchio says “Every yo-yo I own is green”

1 Like

I guess the funniest part of this thread to me is that although the conflicting statements present a sort of ‘conundrum’, I don’t see any justification to identify this puzzle as a ‘Math Problem’.

Although the situation presented commands a sharp focus on deduction and mental gymnastics, I certainly would not classify it as a ‘Math Problem’.

Funny stuff…. :thinking:

1 Like

Hmmmm….we are not resolving any formulas or equations right? :thinking:

It was brought during a math Olympiad event but I guess it is a merely logical question.

Good point! :laughing:

1 Like

I don’t know why the narrator in that video calls it a “tricky logic puzzle.” The key to understanding what it means is a thing that he says at 1:24. It’s not a logic puzzle, it’s a math puzzle, but in “Word Problem” form. Like the ones about Tom and Jane riding trains at a certain speed from a certain distance, and answer involves converting the problem to a formula and solving it.

“Here we are not talking about the word ‘lie’ in a real world sense, where a lie could be a misleading statement. We are solving a mathematical olympiad problem. So ‘lie’ in this context means a mathematically false statement.”

It’s similar to a programming language comparison statement comparing a variable that is has no value to a variable that contains the number 1. It might be little hard to wrap your head around the idea of a variable that doesn’t have a value, which is I think where all the confusion is.

In language, the statement “all my hats are green” is ambiguous, but as a mathematical statement, it is not. It means that he has at least one hat, because not having any hats invalidates the premise of the statement. In language, an invalid premise would be considered false, but in a programming language this would result in a fatal error, not a false value.

I don’t completely understand the logic table; I’ve never seen that before. I’ve only taken general math up to College Calculus II, so I feel like this is either more advanced than that, or more specialized. But it does make sense to me thinking about it as a programming problem, and he explains it at 4:24. His example after about mobile phones seems like a pretty good explanation to me, especially the part about it being “meaningless truth”.


Ugh. I just realized something I said there is wrong. The problem isn’t that the statement “all my hats are green” isn’t ambiguous. The problem is that it is ambiguous. Mathematically speaking, all my hats are green would be true if he has no hats, or that he has 1 green hat. The only way his statement could be certainly false is if he has one hat that is not green.

It’s more clear to say certainly true or certainly false, because the problem arises out of the uncertainty. And the confusion comes out of how important the premise is. Another way of thinking about it is:

  1. Did you steal this ring last night.
  2. No

Does this mean that you didn’t steal the ring, or that you didn’t steal it at that time? We would all agree that it isn’t an addition of guilt. But if you put it the same context of the Pinocchio problem:

  1. Pinocchio always says things that aren’t true.
  2. “I didn’t steal the ring last night.”

We can’t be sure if he didn’t steal the ring or if he stole it at a different time. The only thing we can be sure if is that it wasn’t last night. we can’t be sure of the premise (he stole the ring). Which means it isn’t certainly a false statement.

So, if the statement must be false (Pinocchio always lies) then he had to have stolen the ring.


Logic is most definitely mathematics. Perhaps something more formal will convince you:

DeMorgan’s Laws:
¬(p ∧ q) ≡ ¬p ∨ ¬q
¬(p ∨ q) ≡ ¬p ∧ ¬q

or a logical statement:
(¬x) → ((y ∨ z) → (x ∨ (y ∧ z)))


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.


Wel, since you went to all the trouble laying that out. You have inspired me.

I’m gonna call my homie Kool aid man and go hunt down Pinocchio.

I’m gonna chuck him up in my lathe…… turn him into a yo-yo and paint him GREEN.

Thus, removing all variables, hypotheticals, suppositions, misinterpreted conclusions drawn from falsely generated here say and/or unfounded personality traits that perpetually put Pinocchio in a bad light.

When I have completed my mission, we can All be assured that the wooden puppet is somehow related directly to 1 Green Yo-yo.

Nuff said…