I don't know whether this will make any difference, but try specifying it like this:
if (posn(o0, 45, 126, 57, 159))
since the most common way to express rectangular coordinates is x1, y1, x2, y2, where (x1, y1) is usually the top-left corner and (x2, y2) is usually the bottom-right corner.
You're specifying it as bottom-left, top-right. Like I said, I don't know if that will fix your problem, but it's worth trying.
Oh yeah, and just to be clear, you're not testing the bottom-left pixel of the chair. You're testing the bottom-left pixel of o0, i.e. ego to see whether it's within range of the chair.