On 12/11/10 04:12, Alan Gauld wrote: > "Steven D'Aprano" <st...@pearwood.info> wrote >> As an experiment, offer to buy your wife dinner, and ask if she'd >> prefer to go to an Italian or Chinese restaurant. > > :-) > She would either answer "Yes" (she would like to go to one of > them, and if I'm lucky she might give me a clue which!) or "No" > (she would prefer neither, Indian perhaps...)
The question "Would you like Italian or Chinese for dinner" is actually a contraction of "Would you like Italian for dinner or would you like Chinese for dinner". If we ask these two questions separately to the wife, we get either "Yes or Yes", "Yes or No", "No or Yes", or "No or No", which evaluates to either "Yes", "Yes", "Yes", and "No" (use "True" or "False", if you prefer). Or syntactically: =================== I(i) = Italian (an object) I(c) = Chinese (an object) I(W) = Indication of Want (a unary relation) ------------------- W(i) or W(c) =================== In short circuiting language, that question is translated to: "If you want Italian for dinner then answer Italian, else answer Chinese". Or syntactically: =================== I(i) = Italian (an object) I(c) = Chinese (an object) I(W) = Indication of Want (a unary relation) I(E) = Eat at (a unary relation) ------------------- if W(i) then i else c --- or --- if W(i) then Ei if not W(i) then Ec =================== Neither of the two previous translations corresponds to the intuition we had in natural language. Instead, in natural language, the best translation is probably "If you prefer Italian over Chinese for dinner then answer Italian, else if you prefer Chinese over Italian for dinner then answer Chinese (assume she cannot answer Neither or Both). Or syntactically: =================== I(i) = Italian (an object) I(c) = Chinese (an object) I(>) = Wife's Order of Preference (a strict weak order binary relation) I(E) = Eat at (a unary relation) ------------------- if i > c then Ei if c > i then Ec =================== _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor