# “Which answer in this list is the correct answer to this question?”

I received this question from my mathematics professor as a leisure-time logic quiz, and although I thought I answered it right, he denied. Can someone explain the reasoning behind the correct solution?

Which answer in this list is the correct answer to this question?

1. All of the below.
2. None of the below.
3. All of the above.
4. One of the above.
5. None of the above.
6. None of the above.

I thought:

• $$22$$ and $$33$$ contradict so $$11$$ cannot be true.
• $$22$$ denies $$33$$ but $$33$$ affirms $$2,2,$$ so $$33$$ cannot be true
• $$22$$ denies $$4,4,$$ but as $$11$$ and $$33$$ are proven to be false, $$44$$ cannot be true.
• $$66$$ denies $$55$$ but not vice versa, so $$55$$ cannot be true.

at this point only $$22$$ and $$66$$ are left to be considered. I thought choosing $$22$$ would not deny $$11$$ (and it can’t be all of the below and none of the below) hence I thought the answer is $$6.6.$$

I don’t know the correct answer to the question. Thanks!

// gcc ImpredictivePropositionalLogic1.c -o ImpredictivePropositionalLogic1.exe -std=c99 -Wall -O3

/*
Which answer in this list is the correct answer to this question?

(a) All of the below.
(b) None of the below.
(c) All of the above.
(d) One of the above.
(e) None of the above.
(f) None of the above.
*/

#include <stdio.h>
#define iff(x, y) ((x)==(y))

int main() {
printf("a b c d e f\n");
for (int a = 0; a <= 1; a++)
for (int b = 0; b <= 1; b++)
for (int c = 0; c <= 1; c++)
for (int d = 0; d <= 1; d++)
for (int e = 0; e <= 1; e++)
for (int f = 0; f <= 1; f++) {
int Ra = iff(a, b && c && d && e && f);
int Rb = iff(b, !c && !d && !e && !f);
int Rc = iff(c, a && b);
int Rd = iff(d, (a && !b && !c) || (!a && b && !c) || (!a && !b && c));
int Re = iff(e, !a && !b && !c && !d);
int Rf = iff(f, !a && !b && !c && !d && !e);

int R = Ra && Rb && Rc && Rd && Re && Rf;
if (R) printf("%d %d %d %d %d %d\n", a, b, c, d, e, f);
}
return 0;
}


This outputs:

a b c d e f
0 0 0 0 1 0


The main point I’d like to get across is that you cannot assume at the outset that there is only 1 satisfying assignment. For example consider the question:

Which of the following is true?
(a) both of these
(b) both of these


You might be tempted to say that both (a) and (b) are true. But it is also consistent that both (a) and (b) are false. The tendency to assume singularity from definitions isn’t correct when the definitions are impredictive.