xor of three relations using Relation Algebra operations

1k Views Asked by At

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.

1

There are 1 best solutions below

0
On

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.