I may be wrong here, but I think in programming, AND means BOTH x AND y, whereas OR means I'm searching for x and i'm searching for y, so want the equivalent of doing two searches and combining the results. When I studied logic years ago, this was known as the "inclusive OR", whereas, we normally use it exclusively in everyday speech (like I want sandwiches OR icecream (but not both!)).