- From: Andreas Strotmann <Strotmann@rrz.uni-koeln.de>
- Date: Wed, 17 Sep 2003 13:07:27 +0200
- To: www-math@w3.org, om@openmath.org
What exactly is the semantics of an n-ary xor? I'm not kidding -- I really don't know. Let me explain why. At first glance, an obvious definition is xor(a,b,c):=xor(a,xor(b,c)) -- i.e. n-ary xor is something like a parity predicate. It struck me that for infinite index sets I, xor_{i\in I}(P(i)) is always undefined and thus not very useful, which of course bugged me since I was the one who brought up the topic of "big" versions of n-ary operators, and I fell to wondering if the "obvious" semantics of n-ary xor is really the correct one. And I realized that textbooks tend to explain the meaning of binary xor as "either...or...(but not both)" -- and that the n-ary version of that phrase (either ... or... or... or...) does *not* mean parity -- it means "only one of these choices". Thus, a "natural" (as opposed to "obvious") semantics of n-ary xor is "true if exactly one of the arguments is true, false otherwise" -- which very nicely generalizes to a well-known "big-xor" operator, namely the "exists-uniquely" quanitifier, which I suspect retains a well-defined semantics even in arbitrary transfinite contexts. Now I ask you: what exactly *is* the meaning of n-ary xor in MathML (or OpenMath, for that matter)? -- Andreas
Received on Wednesday, 17 September 2003 07:08:50 UTC