On 2015-09-19, at 09:19, Gregory Ewing <greg.ew...@canterbury.ac.nz> wrote:
> Random832 wrote: >> I'm disputing that chained comparisons are used for the particular >> combinations that I am actually arguing should not be used in python. >> Such as a < b > c or a != b != c [whereas a may or may not be equal to >> c] > > I can't remember offhand seeing a != b != c written by a > mathematician, but if I did, I would suspect that he > *intended* it to imply a != c, even if that's not a strict > logical consequence of the notation. Mathematica interprets a != b != c as "none of a, b or c are equal". See [0]. It does this by parsing it to Unequal[a, b, c] (square brackets are function calls), where Unequal then implements that operation. Normally I'm used to Mathematica being a very consistent language. But being prepared by this thread, I of course wondered where the inconsistencies start here and whether inequalities mix well with comparisons. They don't: While b != c != d gets parsed as this: Unequal[b, c, d] But a < b != c != d < e gets parsed as this: And[Less[a, b], Unequal[b, c], Unequal[c, d], Less[d, e]] Which means that a != b != c is interpreted differently depending on context. I don't think every mathematician would agree which of these interpretations make sense. :) [0]: https://reference.wolfram.com/language/ref/Unequal.html
signature.asc
Description: Message signed with OpenPGP using GPGMail
-- https://mail.python.org/mailman/listinfo/python-list