Great article! I noticed an issue with the division operator though.

with r ÷ s going into result set t.

ALL of set s must match row A with the same in row B.

Here is a modified example from what you had above (made to have an output)

Relation in table 'r' :

Code:

+--------+-------+
| A | B |
+--------+-------+
| a | 1 |
| b | 2 |
**| a | 2 |
| a | 3 |**
| p | 3 |
| p | 4 |
+--------+-------+

Relation in table 's' :

Code:

+------+
| B |
+------+
| 2 |
| 3 |
+------+

**Therefore, r ÷ s :**
Code:

+------+
| A |
+------+
| a |
+------+

To reiterate,

**a** is the only result because it is the only tuple in set

*r* that matches

**every** row in set

*s*