Suppose I have three relations R1, R2, and R3. How can I specify xor of these three relations using relation algebra operations. How this scales up (for example, for four relations)?
Thanks
I add Category theory tag, with the hope that somebody with Category Theory (Allegory) knowledge can comment.
If we have $\vee$ (disjunction) and $^{-}$ (complementation) as relation algebra operators, we can define binary xor as:
$$ R_{1} \veebar R_{2} := (R_{1}^{-} \vee R_{2})^{-} \vee (R_{1} \vee R_{2}^{-})^{-} $$
If multiple-argument xor is defined as being true whenever an odd number of its arguments are true, we can then define:
$$\begin{align} (R_{1} \veebar R_{2}) \veebar R_{3} &= ((R_{1} \veebar R_{2})^{-} \vee R_{3})^{-} \vee ((R_{1} \veebar R_{2})\vee R_{3}^{-})^{-} \\ &= (((R_{1}^{-} \vee R_{2})^{-} \vee (R_{1} \vee R_{2}^{-})^{-})^{-} \vee R_{3})^{-} \vee (((R_{1}^{-} \vee R_{2})^{-} \vee (R_{1} \vee R_{2}^{-})^{-})\vee R_{3}^{-})^{-} \end{align} $$
However, our definition will differ if we have different relation algebra operators at our disposal.