[Tutor] 'or' in assignment (not if statement)?

Lie Ryan lie.1296 at gmail.com
Sun Dec 12 02:52:35 CET 2010


On 12/11/10 04:12, Alan Gauld wrote:
> "Steven D'Aprano" <steve at 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
===================



More information about the Tutor mailing list