From the conditions: y1 and y2 are two numbers that are either identical or adjacent. x1 and x2 are two nonidentical numbers whose difference is the smaller of y1 and y2, possibly plus one. As a corollary, if either y1 or y2 is 0, x1 and x2 must be adjacent.

Statement 1: This statement eliminates (x1,y1) = (0,0) and (0,1): if Emily knew that min(y1,y2) = 0, and x1 = 0, Emily could prove that x2 = 1 from the above corollary. This eliminates (0,0) directly, and it eliminates (0,1) because Emily could not make that statement for sure without knowing y2 is not 0.

Statement 2: This statement eliminates (x2,y2) = (0,0) and (0,1) by the same logic as above, and in addition eliminates (1,0) and (1,1): if Mike knew that min(y1,y2)=0, and x2=1, then since Mike knows x1 is not 0, x1 must equal 2.

Statements 3-6: Proceeding in a similar fashion, Emily cannot have (0,0) through (4,1) and Mike cannot have (0,0) through (5,1).

Statement 7: The only number pairs that get eliminated in the above logic are (x,0) and (x,1). This statement proves that y1,y2 >= 2.

Statement 8: If y1 > 2, then y2 > 1, and so Emily would have known the loop of statements 1-6 would have been unending. The only way she couldn't have known that is if it was possible for y2 to be 1, so that one of Mike's (x,1) pairs could not be eliminated. Therefore, y1 = 2, and furthermore, from Emily's perspective, some (x2,1) pair where x2 >= 6 was possible, meaning x1 >= 4.

Statement 9: Mike not knowing that Emily didn't know proves nothing, because whether y2 = 2 or 3, Mike could not eliminate the possibility that y2 = 3 (or even 4), in which case Emily would have known. Now, given a value for y1, Emily would know that the difference between x1 and x2 is either y1 - 1, or y, or y + 1. Therefore, Emily would not know whether x2 was greater than 10 or not if her numbers were (8,2) to (13,2), (7,3) to (14,3), or (6,4) to (15,4); and would know in all other circumstances. Now that Mike knows Emily's numbers are (4,2) and above, Mike either knows x1 < 8, which would make Mike's numbers (4,2) and less or (4,3) and less; or Mike knows 8 <= x1 <= 13, which is impossible since Mike sees a difference of 3 as possibke; or Mike knows x > 13, which would make Mike's numbers (17,2) and greater or (17,3) and greater. In either case, before Emily's statement, Mike saw at least one "do not know" value as a possibility. Therefore if y2 is 2, some (x2+-3,3) must have been possible, meaning Mike's numbers could only be (4,2) or (17,2); and if y2 is 3, some (x2+-4,4) must have been possible, meaning Mike's numbers could only be (2,3) to (4,3) or (17,3) to (19,3).

Statement 10: After Emily made Statement 8, Mike, in most circumstances, would not know which of x1 or x2 is greater. Emily must have believed some other circumstance was possible. Now, whatever x2 Mike has, Emily could have had a greater x1. However, if x2 < 6, then x1 could not be less than x2 since their difference is at least 2, and x1 >= 4. Therefore, in order for Emily to not know if Mike knew, Emily must see some (5,2) or less or (5,3) or less as possible. Therefore, x1 <= 8. Therefore, Mike's upper range is eliminated, so Mike's numbers are (4,2), (2,3), (3,3), or (4,3); and Emily's numbers are (4,2), (5,2), (6,2) or (7,2) - (8,2) is eliminated since x2 is now <= 4.

And that's where I'm stuck. Granted, 13 possibilities is a lot better than an infinite number, but it's still a (non-baker's) dozen too many.