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.