monday is the correct answer. Try to see this riddle from a programmers point of view. (yesterday I was lying AND two days after tomorrow, I will be lying again). Both the statements have to be true or false for this sentence to check out. On the other hand, if the lion said that he was lying yesterday OR he will be lying again two days after tomorrow, only 1 would have to be true or false. In programming, both statements would have to be true, but in this case, both have to be either true or false, which leaves us to 1 day. Monday (both statements are false, and there is no other day those 2 statements are the same.