# Logic question

**URL:** <https://boards.straightdope.com/t/logic-question/818057>\
**Category:** Factual Questions\
**Created:** [July 17, 2018, 2:32am UTC](https://boards.straightdope.com/t/logic-question/818057 "2018-07-17T02:32:29Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![CanTak3](https://avatars.discourse-cdn.com/v4/letter/c/f14d63/32.png) [@CanTak3](https://boards.straightdope.com/u/CanTak3)\
**Post date:** [July 17, 2018, 2:32am UTC](https://boards.straightdope.com/t/logic-question/818057/1 "2018-07-17T02:32:29Z")

</div>

Taken from [Brillant.org](http://Brillant.org).

_On a particular island live humans and vampires. The normal humans always tell the truth and the normal vampires always lie. However, there are abnormal varieties of each. Abnormal humans always lie and abnormal vampires always tell the truth.  
An islander makes the statement “If I am a vampire, then I am normal.”  
What are they?_

My thought process:

If the islander is a normal vampire, then they told the truth and cannot do that. That eliminates this possibility.  
If the islander is an abnormal vampire then they lied and cannot do that. Another elimination.

Now the islander must be human. But the IF statement precludes me going further logically. They are not lying nor telling the truth with this IF statement. We’re stuck here. I chose an answer _Imposible to tell from the given information_. They claim this is wrong and that the answer is _Normal Human_.

Looking at their explanation, they agree with me on the first two points, but then include the following:

_If the islander is a human, the hypothesis of the if-then statement is false, so the if-then statement as a whole is true. The only humans that can tell the truth are normal ones, so the islander must be a normal human._

I contend this isn’t right. The statement as a whole is not true nor false. It’s unknown, null, nil, nothing. Where am I going wrong here?

---

<div class="post-metadata">

**Author:** ![RaftPeople](https://avatars.discourse-cdn.com/v4/letter/r/6f9a4e/32.png) [@RaftPeople](https://boards.straightdope.com/u/RaftPeople)\
**Post date:** [July 17, 2018, 2:41am UTC](https://boards.straightdope.com/t/logic-question/818057/2 "2018-07-17T02:41:47Z")

</div>

My answer=Vampire (abnormal)

I stopped reading your post at end of the puzzle, now I will read the rest

---

<div class="post-metadata">

**Author:** ![Morgyn](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/morgyn/32/3041_2.png) [@Morgyn](https://boards.straightdope.com/u/Morgyn)\
**Post date:** [July 17, 2018, 2:42am UTC](https://boards.straightdope.com/t/logic-question/818057/3 "2018-07-17T02:42:28Z")

</div>

Assuming I remember my logic classes correctly (it was about 30 years ago), you can get a true conclusion from a false premise, so the statement is true.

You’re looking at the third line of the truth table on this page: [propositional calculus - In classical logic, why is $(p\Rightarrow q)$ True if $p$ is False and $q$ is True? - Mathematics Stack Exchange](https://math.stackexchange.com/questions/70736/in-classical-logic-why-is-p-rightarrow-q-true-if-p-is-false-and-q-is-tr)

You can also look at Wikipedia’s explanation starting with the Logical Disjunction Or. [Truth table - Wikipedia](https://en.wikipedia.org/wiki/Truth_table)

---

<div class="post-metadata">

**Author:** ![Thudlow\_Boink](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/thudlow_boink/32/320_2.png) [@Thudlow\_Boink](https://boards.straightdope.com/u/Thudlow_Boink)\
**Post date:** [July 17, 2018, 2:45am UTC](https://boards.straightdope.com/t/logic-question/818057/4 "2018-07-17T02:45:25Z")

</div>

In logic, every statement must have a truth value, either TRUE or FALSE.

By definition, a conditional (if-then) statement is considered to have the value TRUE whenever the antecedent (the IF part) is FALSE (and also, of course, when both parts are TRUE).

The site’s answer makes it clear that they are playing by these rules of formal logic.

---

<div class="post-metadata">

**Author:** ![markn\_1](https://avatars.discourse-cdn.com/v4/letter/m/f9ae1b/32.png) [@markn\_1](https://boards.straightdope.com/u/markn_1)\
**Post date:** [July 17, 2018, 2:47am UTC](https://boards.straightdope.com/t/logic-question/818057/5 "2018-07-17T02:47:17Z")

</div>

In a conditional statement of the form “if A then B”, the only way the statement as a whole can be false is if A is true and B is false. If A is false, the statement is true no matter what B is. So if the given statement is false, then the speaker (A) is a vampire and (B) is not normal. But such a person cannot lie, so this is a contradiction. So the statement must be true.

---

<div class="post-metadata">

**Author:** ![RaftPeople](https://avatars.discourse-cdn.com/v4/letter/r/6f9a4e/32.png) [@RaftPeople](https://boards.straightdope.com/u/RaftPeople)\
**Post date:** [July 17, 2018, 2:47am UTC](https://boards.straightdope.com/t/logic-question/818057/6 "2018-07-17T02:47:18Z")

</div>

This was my thinking:  
Normal Human: tells truth, therefore, if he/she was a vampire, then must report being abnormal  
Abnormal Human: tells lies, so lies about type of vampire (i.e. claims “abnormal vampire”)  
Normal Vampire: lies, therefore reports abnormal  
Abnormal Vampire: truth, therefore reports normal  
Clearly not very good thinking, but I will leave it here so others know what the wrong answer is 🙂

---

<div class="post-metadata">

**Author:** ![markn\_1](https://avatars.discourse-cdn.com/v4/letter/m/f9ae1b/32.png) [@markn\_1](https://boards.straightdope.com/u/markn_1)\
**Post date:** [July 17, 2018, 2:53am UTC](https://boards.straightdope.com/t/logic-question/818057/7 "2018-07-17T02:53:20Z")

</div>

> [@RaftPeople](#):
>
> This was my thinking:  
> Normal Human: tells truth, therefore, if he/she was a vampire, then must report being abnormal  
> Abnormal Human: tells lies, so lies about type of vampire (i.e. claims “abnormal vampire”)  
> Normal Vampire: lies, therefore reports abnormal  
> Abnormal Vampire: truth, therefore reports normal

Most of this is wrong.

A normal human tells the truth, so must claim to be a normal human. Your clause “if he/she was a vampire” makes no sense; you’ve already assumed he/she is human.

An abnormal human lies, so he MIGHT claim to be an “abnormal vampire” as you say, but he could equally well claim to be a normal vampire or a normal human, both of which are lies.

Normal vampire: again, he MIGHT claim to be an abnormal vampire, but he might also claim to be either type of human.

Abnormal vampire: must tell the truth, so he must claim to be an abnormal vampire.

BTW, there are a vast variety of these types of puzzles in Raymond Smullyan’s book “What is the Name of this Book? The Riddle of Dracula and other Logical Puzzles”, which I’m pretty sure is where the web site got this puzzle from.

---

<div class="post-metadata">

**Author:** ![RaftPeople](https://avatars.discourse-cdn.com/v4/letter/r/6f9a4e/32.png) [@RaftPeople](https://boards.straightdope.com/u/RaftPeople)\
**Post date:** [July 17, 2018, 3:10am UTC](https://boards.straightdope.com/t/logic-question/818057/8 "2018-07-17T03:10:04Z")

</div>

> [@markn\_1](#):
>
> Most of this is wrong.
> 
> A normal human tells the truth, so must claim to be a normal human. Your clause “if he/she was a vampire” makes no sense; you’ve already assumed he/she is human.

True that it’s wrong (as noted in my edit).

But the statement “If I was…” and connecting that to an attribute related to truthfulness tends to lead one into thinking that the “IF” is allowing for conditionally swapping one attribute and then stating how the dependent attribute would appear.

If the “If I was…” only makes sense when the first attribute (human vs vampire) matches the current state of the entity, then what is the point of expressing the conditional at all?

---

<div class="post-metadata">

**Author:** ![Reply](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/reply/32/15952_2.png) [@Reply](https://boards.straightdope.com/u/Reply)\
**Post date:** [July 17, 2018, 3:15am UTC](https://boards.straightdope.com/t/logic-question/818057/9 "2018-07-17T03:15:19Z")

</div>

1. Normal human never lies: Possible. If he’s not a vampire, he could be telling the truth.

2. Normal vampire always lies: Impossible. If he is a vampire, he must lie, but calling himself a normal vampire is the truth, so he can’t do that.

3. Abnormal human always lies: Impossible. If he is a vampire, calling himself a normal one could potentially be true (maybe he’s a lying vampire), but if so, that violates his “always lies” requirement. You can’t tell whether he’s an abnormal human or an abnormal vampire – that is a different question – but you know the statement can’t come from him.

4. Abnormal vampire never lies: Impossible. If he is a vampire, calling himself a normal one would be false, and he is obligated to tell the truth.

I think #3 is where you get caught up. The question isn’t asking “Is this statement true or false?”, but rather, “Could ANY of the speakers potentially say it?” The only one who can say it without violating the rules is the normal human. The statement has no truthiness on its own, but it is bounded by the speakers’ rules.

Another way to look at the question is rephrasing it to “Some vampires cannot lie. However, if I’m a vampire, I always lie.”

Is it always true that some vampires cannot lie (normal human, abnormal vampire)? Yes.  
Is it always false that some vampires cannot lie (abnormal human, normal vampire)? No, because the truth is that some vampires can.

Then to separate the two potential yes, you use the second part of the question:

Normal human: It is possible I’m a lying vampire (the truth).  
Abnormal vampire: It is possible I’m a lying vampire (logical contradiction; I can’t both be a lying vampire and a truthful one; impossible).

---

<div class="post-metadata">

**Author:** ![RaftPeople](https://avatars.discourse-cdn.com/v4/letter/r/6f9a4e/32.png) [@RaftPeople](https://boards.straightdope.com/u/RaftPeople)\
**Post date:** [July 17, 2018, 3:26am UTC](https://boards.straightdope.com/t/logic-question/818057/10 "2018-07-17T03:26:03Z")

</div>

> [@Reply](#):
>
> I think #3 is where you get caught up. The question isn’t asking “Is this statement true or false?”, but rather, “Could ANY of the speakers potentially say it?”

This was how I was interpreting the puzzle, which type could make the statement without violating their rules of truthfulness.

---

<div class="post-metadata">

**Author:** ![CanTak3](https://avatars.discourse-cdn.com/v4/letter/c/f14d63/32.png) [@CanTak3](https://boards.straightdope.com/u/CanTak3)\
**Post date:** [July 17, 2018, 4:45am UTC](https://boards.straightdope.com/t/logic-question/818057/11 "2018-07-17T04:45:58Z")

</div>

I had no idea that in logic all answers must have a real true or false value. That seems idiotic.

“If A then B” isn’t true or false if A cannot be evaluated.

“If I’m wrong, I’ll eat my hat.”

I can only be proven a liar or a truth teller if I was found to be wrong. Otherwise all bets are off as to my hat eating and honesty.

The best explanation I’ve come across from the answers above so far is:  
\*  
p⇒q is an assertion that says something about situations where p is true, namely that if we find ourselves in a world where p is true, then q will be true (or otherwise p⇒q lied to us).

However, if we find ourselves in a world where p is false, then it turns out that p⇒q did not actually promise us anything. Therefore it can’t possibly have lied to us – you could complain about it being irrelevant in that situation, but that doesn’t make it false. It has delivered everything it promised, because it turned out that it actually promised nothing.\*

---

<div class="post-metadata">

**Author:** ![DPRK](https://avatars.discourse-cdn.com/v4/letter/d/4491bb/32.png) [@DPRK](https://boards.straightdope.com/u/DPRK)\
**Post date:** [July 17, 2018, 4:59am UTC](https://boards.straightdope.com/t/logic-question/818057/12 "2018-07-17T04:59:48Z")

</div>

> [@CanTak3](#):
>
> I had no idea that in logic all answers must have a real true or false value. That seems idiotic.

Of course it’s not the case that an arbitrary statement is either true or false; that is explicitly stated (where applicable!!) in the assumptions of the particular puzzle, including this one.

---

<div class="post-metadata">

**Author:** ![markn\_1](https://avatars.discourse-cdn.com/v4/letter/m/f9ae1b/32.png) [@markn\_1](https://boards.straightdope.com/u/markn_1)\
**Post date:** [July 17, 2018, 5:01am UTC](https://boards.straightdope.com/t/logic-question/818057/13 "2018-07-17T05:01:33Z")

</div>

> [@CanTak3](#):
>
> “If A then B” isn’t true or false if A cannot be evaluated.

That’s actually not true – if B is true, then the whole statement is true, regardless of the truth value of A. “If God exists, then I am alive.” This statement is true, even though I don’t know whether God exists or not, since I am alive. On the other hand, “If God exists, then I am dead” indeed does not have a defined truth value since A cannot be evaluated and B is false.

However, neither of these cases is the situation in the OP. In this case, it is not the case that A cannot be evaluated. A is “I (the speaker) am a vampire”. Assuming that this is true leads to a contradiction, so we can say that A is definitely false. You actually came to this same conclusion in your OP, so I don’t know why you are now saying that A cannot be evaluated. Since A is false, the whole conditional is true.

---

<div class="post-metadata">

**Author:** ![Dr.Strangelove](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/dr.strangelove/32/6613_2.png) [@Dr.Strangelove](https://boards.straightdope.com/u/Dr.Strangelove)\
**Post date:** [July 17, 2018, 5:01am UTC](https://boards.straightdope.com/t/logic-question/818057/14 "2018-07-17T05:01:45Z")

</div>

I came to the same conclusion as the puzzler. Normal human.

Logical implication is a weird one, though. “If pigs could fly, then horses are blue” is a true statement by the normal rules.

One can swap the antecedent and consequent like this:  
p =\> q  
not q =\> not p

So, “if horses aren’t blue, then pigs can’t fly”. That seems more reasonable, and obviously true, but it’s completely equivalent to the first statement (assuming the law of the excluded middle).

Related to the above are statements like “all unicorns are pink”. It’s true, because there are no unicorns and we can say anything is true about them.

---

<div class="post-metadata">

**Author:** ![Thudlow\_Boink](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/thudlow_boink/32/320_2.png) [@Thudlow\_Boink](https://boards.straightdope.com/u/Thudlow_Boink)\
**Post date:** [July 17, 2018, 5:05am UTC](https://boards.straightdope.com/t/logic-question/818057/15 "2018-07-17T05:05:53Z")

</div>

> [@CanTak3](#):
>
> I had no idea that in logic all answers must have a real true or false value. That seems idiotic.
> 
> “If A then B” isn’t true or false if A cannot be evaluated.

It might be more clear to say that the truth value of “If A then B” (i.e. whether it’s true or false) _depends on_ the truth value of A and of B.

It’s like an expression like x+y or x-y or x\*y in algebra: such an expression has a numerical value, but what that number is depends on the values of x and of y.

If x has the value 3 and y has the value 7, then x+y must have the value 10, regardless of whether x represents a number of eggs or giraffes or liters of hydrogen gas.

If A has the value true and B has the value false, “If A then B” must evaluate to false, regardless of whether A represents “I am a vampire” or “17 is a prime number” or “Spongebob Squarepants is the president of the United States.”

And a sort of special case: If x has the value 0, x\*y always evaluates to 0 no matter what value y has.

If A has the value false, “If A then B” always evaluates to true no matter what value B has.

Why? The explanation you already gave is one good way to explain it.

> [@](#):
>
> The best explanation I’ve come across from the answers above so far is:  
> \*  
> p⇒q is an assertion that says something about situations where p is true, namely that if we find ourselves in a world where p is true, then q will be true (or otherwise p⇒q lied to us).
> 
> However, if we find ourselves in a world where p is false, then it turns out that p⇒q did not actually promise us anything. Therefore it can’t possibly have lied to us – you could complain about it being irrelevant in that situation, but that doesn’t make it false. It has delivered everything it promised, because it turned out that it actually promised nothing.\*

---

<div class="post-metadata">

**Author:** ![Dr.Strangelove](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/dr.strangelove/32/6613_2.png) [@Dr.Strangelove](https://boards.straightdope.com/u/Dr.Strangelove)\
**Post date:** [July 17, 2018, 5:06am UTC](https://boards.straightdope.com/t/logic-question/818057/16 "2018-07-17T05:06:09Z")

</div>

> [@CanTak3](#):
>
> I had no idea that in logic all answers must have a real true or false value. That seems idiotic.

There are types of logic which have more than one value–“true”, “false” and “unknown” is perhaps the easiest extension. And there is fuzzy logic, which can take any possible value between fully false and fully true (expressed as a real number between 0 and 1). But standard Boolean logic is just true and false, and “not true” is by definition false.

See [many-valued logic](https://en.wikipedia.org/wiki/Many-valued_logic) on Wikipedia.

---

<div class="post-metadata">

**Author:** ![DPRK](https://avatars.discourse-cdn.com/v4/letter/d/4491bb/32.png) [@DPRK](https://boards.straightdope.com/u/DPRK)\
**Post date:** [July 17, 2018, 5:14am UTC](https://boards.straightdope.com/t/logic-question/818057/17 "2018-07-17T05:14:33Z")

</div>

What the book actually says is

> [@Smullyan](#):
>
> At the time I was in Transylvania, about half the inhabitants were human and half were vampires. The humans and vampires are indistinguishable in their outward appearance, but the humans (at least in Transylvania) always tell the truth and the vampires always lie. What enormously complicates the situation is that half the inhabitants of Transylvania are totally insane and completely deluded in their beliefs-all true propositions they believe to be false and all false propositions they believe to be true. The other half are completely sane and know which propositions are true and which ones false. Thus the inhabitants of Transylvania are of four types: (1) sane humans; (2) insane humans; (3) sane vampires; (4) insane vampires. Whatever a sane human says is true; whatever an insane human says is false; whatever a sane vampire says is false; and whatever an insane vampire says is true. For example, a sane human will say that two plus two equals four; an insane human will say it doesn’t (because he really believes it doesn’t) ; a sane vampire will also say it doesn’t (because he knows it does and then lies); an insane vampire will say it does (because he believes it doesn’t, and then lies about what he believes).

This sets up puzzles like

> [@](#):
>
> I once met an inhabitant and asked him, “Are you an insane vampire?” He answered “Yes” or “No,” and I knew what he was.
> 
> What was he?

It all gets much more complicated, of course.

---

<div class="post-metadata">

**Author:** ![Reply](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/reply/32/15952_2.png) [@Reply](https://boards.straightdope.com/u/Reply)\
**Post date:** [July 17, 2018, 7:01am UTC](https://boards.straightdope.com/t/logic-question/818057/18 "2018-07-17T07:01:57Z")

</div>

> [@CanTak3](#):
>
> I had no idea that in logic all answers must have a real true or false value. That seems idiotic.

It’s just a game in this instance, like “while moving only three match sticks, make this square into a pyramid”. Yeah, you can just take a magic marker and draw in the missing parts, but that’s missing the point.

The puzzle isn’t supposed to represent a real-world scenario, but the artificial environment of a logic game. Less statistics, more sudoku.

---

<div class="post-metadata">

**Author:** ![septimus](https://sea3.discourse-cdn.com/straightdope/user_avatar/boards.straightdope.com/septimus/32/410_2.png) [@septimus](https://boards.straightdope.com/u/septimus)\
**Post date:** [July 17, 2018, 8:14am UTC](https://boards.straightdope.com/t/logic-question/818057/19 "2018-07-17T08:14:58Z")

</div>

_“This statement is false.”_

> [@Thudlow\_Boink](#):
>
> In logic, every [_ **non-self-referential** _] statement must have a truth value, either TRUE or FALSE…

I’ve taken the liberty of adding a modifier I think Mr. Boink omitted.

> [@DPRK](#):
>
> Of course it’s not the case that an arbitrary statement is either true or false; that is explicitly stated (where applicable!!) in the assumptions of the particular puzzle, including this one.

Are you French? 🙂 My experience was that American logic puzzles often neglected to state this necessary assumption. But I was pleasantly surprised to note it was explicitly stated in the logic puzzles of the puzzle magazine I used to buy in France.

> [@Reply](#):
>
> It’s just a game in this instance, like “while moving only three match sticks, make this square into a pyramid”. Yeah, you can just take a magic marker and draw in the missing parts, but that’s missing the point.
> 
> The puzzle isn’t supposed to represent a real-world scenario, but the artificial environment of a logic game. Less statistics, more sudoku.

I think the actual definition of logic implication is used routinely by mathematicians reading or writing math, even math unrelated to logic puzzles.

---

<div class="post-metadata">

**Author:** ![Hoodligan](https://avatars.discourse-cdn.com/v4/letter/h/d9b06d/32.png) [@Hoodligan](https://boards.straightdope.com/u/Hoodligan)\
**Post date:** [July 17, 2018, 8:49am UTC](https://boards.straightdope.com/t/logic-question/818057/20 "2018-07-17T08:49:14Z")

</div>

New to site… cant seem to copy/paste… dr strangelove’s post was dead-on.

Takes me back to arguments in highschool…

Post hoc, ergo propter hoc.

[Next page](https://boards.straightdope.com/t/logic-question/818057.md?page=2)
