Heinrich Hemme, Raghuram Talluri, Juha Saukkola, Joseph DeVincentis, Dave Tuller, George Tolley, Clinton Weaver, Gavin Bancroft-Harrow, Bob Kraus, Hariom Sharma, Craig Barrett, Neil Harris, Matthew Prins, Stanislaw Jedrus, kloder, Darrel C Jones, Yenni Berlianna, Graeme McRae, Viney Gusain, Martin Chlond, Lahousse Gustaaf, Mark Michell, Cedric Lo, George Sheppard, Jonah Ostroff, Sanath Kumar,
Bert and Edmund can't be first, because their own statements that they
finished lower would be false. Thus, the two statements "Bert wasn't
first" are true.
Since Edmund wasn't first, his other statement is a lie; he did not
finish third, but since he made a true statement, he must have finished
second or fourth.
If Edmund finished second, then "Edmund was second" is true and Bert's
"I was second" is false. Only Bert and Charlie can be last since the
others have each made a true statement.
If Charlie is last, then his statements are both false; Bert didn't finish
fourth (so he must be third) and Alf finished lower than Duggie (so Duggie
must be first). But Duggie's "Charlie wasn't last" is false, so he couldn't
be first, so Charlie must not be last.
If Bert is last, then Alf finished higher than Edmund (and thus first), but
Duggie's statement "Charlie wasn't last" is true, so both of his statements
are true and he must be first. Since this also leads to a contradiction,
Edmund must not be second.
If Edmund finished fourth, then "Edmund was second" and "Bert was fourth"
are false. This leaves Alf as the only contestant who can be first
without making a lie, so Charlie finished lower than Duggie. This means
Duggie made a true statement, which can only be "Charlie wasn't last."
Thus Charlie also made a true statement, "Alf finished higher than of (sic)
Duggie," which we already know to be true. Finally, Bert must be last,
and both of his statements can be seen to be false.
Alf: Bert wasn't first. (T)
Charlie finished lower than Duggie. (T)
Bert: I was second. (F)
Alf finished lower than Edmund. (F)
Charlie: Alf finished higher than of Duggie. (T)
Bert was fourth. (F)
Duggie: Edmund was second. (F)
Charlie wasn't last. (T)
Edmund: Bert wasn't first. (T)
I was third. (F)
Order of finish:
Alf first, Duggie (ahead of Charlie), Charlie, Edmund (fourth), Bert
I read your puzzle webpage regularly.
Here is a soution to the logic puzzle you posted recently.
I skipped logical description of additional information
like that no two people can have the same place.
Answer:
Alf was 1st,
Bert was 3rd,
Charlie was 5th,
Duggie was 4th,
Edmund was 2nd
Solution:
Hypotheses:
a) A1 -> B!1 & C B!1 & C>D
c) A234 -> B1 & C B1 & C>D
e) B1 -> B!1 & A B1 & A B!1 & A>E
h) B5 -> B1 & A>E
i) C1 -> A>D & B4
j) C234 -> A A>D & B!4
l) C5 -> A E2 & C!5
n) D234 -> E2 & C5
o) D234 -> E!2 & C!5
p) D5 -> E!2 & C5
q) E1 -> B!1 & E3
r) E234 -> B!1 & E!3
s) E234 -> B1 & E3
t) E5 -> B1 & E!3
e,f,h,p,q : obviously false
g is true
g -> B!1 & A>E -> A!5 & E!1
g -> c is false
g -> d is false
g -> s is false
g -> t is false
r is true
true statements
g) B234 -> B!1 & A>E
r) E234 -> B!1 & E!3
hypotheses
a) A1 -> B!1 & C B!1 & C>D
i) C1 -> A>D & B4
j) C234 -> A A>D & B!4
l) C5 -> A E2 & C!5
n) D234 -> E2 & C5
o) D234 -> E!2 & C!5
i -> C1 -> B4 -> E2 -> A1 -> C5 is false
i is false
m -> D1 -> E2 & C!5 -> A1 is false
m is false
unknowns
n) D234 -> E2 & C5
o) D234 -> E!2 & C!5
a is true
l is true
true statements
a) A1 -> B!1 & C B!1 & A>E
l) C5 -> A B!1 & E!3
l -> n
n is true
true statements
a) A1 -> B!1 & C B!1 & A>E
l) C5 -> A E2 & C5
r) E234 -> B!1 & E!3
A1, E2, B3, D4, C5
Best,
Stanislaw Jedrus
The order of finish was: Alf, Duggie, Charlie, Edmund, Bert.
Reasoning: Call Alf's two statements A1 and A2 (in the order in which he
gave them), Bert's two B1 and B2, etc.
If Bert finished first, then B1 and B2 are true. But by B1, Bert would
finish second. Therefore Bert didn't finish first, so A1 and E1 are both
true. Thus neither Alf nor Edmund finished last. If Duggie finished last,
D2 would be false, so Charlie would have finished last. This is
impossible, so Duggie didn't finish last.
Therefore the last-place finisher was either Bert or Charlie. If C2 is
true, then Bert finished fourth (so didn't finish last), and Charlie
didn't finish last (or C2 would be false). This is impossible, so C2 is
false. Now, if C1 is false, Charlie finished last, so D2 would be false.
The first-place finisher couldn't be Bert (see above), Charlie (would
finish last), Edmund (Edmund first makes E2 false), Alf (false C1 means
Duggie placed higher than Alf), or Duggie (D2 false). So nobody could
finish first, which is impossible. Therefore C1 is true, and Charlie
didn't finish last.
So Bert finished last, making B1 and B2 false and D2 true. Since C1 is
true, Duggie didn't finish first, so D1 is false. If E2 is true Edmund
finished third, which would mean Edmund made two true statements and
finished first, a contradiction. Thus E2 is false, and Edmund didn't
finish first; Alf did, so A2 is true. We now know the truth or falsity of
all ten statements.
We've already established Alf finished first and Bert last. Since Edmund
didn't place second (false D2) or third (false E2), he was fourth. By
true A2, Charlie placed third and Duggie second, completing the rankings.
BTW, I think it was clever of the contributor to use the contest title to
pay homage to Emmet, the creator of puzzles like this one (and the only
place I've ever seen the name "Duggie"). The only glitch was that his
usual names are Alf, Bert, Charlie, Duggie, and Ernie (not Edmund).
I solved this using Integer Programming via a package called Xpress-MP. If you are interested the models is as follows:
MODEL rios
! Logic problem by Michael Rios from http://www.mathpuzzle.com
! Written by Martin Chlond 24-May-2002
contest = 5
place = 5
statement = 2
VARIABLES
x(contest,place) ! x(i,k) = 1 if contestant i is in jth place, else 0
s(contest,statement) ! s(i,k) = 1 if contestant has true statement k, else 0
p(contest) ! p(i) = place in tournament of contestant i
d(contest,2) ! dummy variables
CONSTRAINTS
! feasible solution required so any objective
maxany: x(1,1) $
! each place has one contestant
onecon(i=1:contest): sum(j=1:place) x(i,j) = 1
! each contestant in one place
onepl(j=1:place): sum(i=1:contest) x(i,j) = 1
! find position of each contestant
fpos(i=1:contest): sum(j=1:place) j*x(i,j) = p(i)
! if contestant in first place then both statements true
setsa(i=1:contest): s(i,1)+s(i,2) > 2*x(i,1)
! if contestant in fifth place then both statements false
setsb(i=1:contest): s(i,1)+s(i,2) < 2-2*x(i,5)
! if contestant is second, third or fourth then one statement true
setsc(i=1:contest): s(i,1)+s(i,2)-2*d(i,1) < 0
setsd(i=1:contest): s(i,1)+s(i,2)-d(i,1) > 0
setse(i=1:contest): s(i,1)+s(i,2)+2*d(i,2) > 2
setsf(i=1:contest): s(i,1)+s(i,2)+2*d(i,2) < 3
setsg(i=1:contest): sum(j=2:4) x(i,j) = d(i,1)+d(i,2)-1
! Alf's statements
asa: x(2,1)+s(1,1) = 1
asb: p(3)-p(4)-4*s(1,2) < 0
! Bert's statements
bsa: x(2,2) = s(2,1)
bsb: p(1)-p(5)-4*s(2,2) < 0
! Charlie's statements
csa: p(4)-p(1)-4*s(3,1) < 0
csb: x(2,4) = s(3,2)
! Duggie's statements
dsa: x(5,2) = s(4,1)
dsb: x(3,5)+s(4,2) = 1
! Edmund's statements
esa: x(2,1)+s(5,1) = 1
esb: x(5,3) = x(5,2)
BOUNDS
x(i=1:contest,j=1:place) .bv.
s(i=1:contest,k=1:statement) .bv.
p(i=1:contest) .ui. 5
d(i=1:contest,m=1:2) .bv.
GENERATE
print s
print p
I think I have the solution.
1. Bert is not first, as his statement about being second would contradict him
2. Since Bert is not first, neither Edmond nor Alf are fifth, as one of their statements is true.
3. Edmond cannot be third, as both his statements would be true.
4. Likewise, Edmond cannot be first, as his statement about being third is contradictory.
5. Therefore Edmond is either second or fourth.
6. Duggie is not fifth, as both his statements would be false, and Charlie would also be fifth.
7. Therefore only Bert or Charlie can be fifth.
8. If Charlie is fifth, Then Alf finished lower than Duggie. If Alf cannot be first, both his statements cannot be true. Since Bert cannot be first, then Charlie would have finished higher than Duggie, which is impossible. Therefore Charlie is not fifth.
9. Bert is fifth, so Alf is higher than Edmond.
10. If Edmond is second, then Alf is first, and Charlie finishes lower than Duggie (in third and fourth places respectively). But then both of Duggie's statements are true, and he would also have to be first. Therefore Edmond is fourth.
11. If Alf is not first, then Charlie must finish in first, higher than Duggie, but Charlie cannot be first because Bert is fifth, not fourth. Therefore Alf is first.
12. Charlie finished lower than Duggie, so Charlie is third, and Duggie is second.
The final descending order of the contestants is Alf, Duggie, Charlie, Edmond, and Bert.