## TABLE_DUM divided by Relation

### September 1, 2011

Here is curious identity:

**TABLE_DUM divided by a relation evaluates to the relation’s complement.**

Formally in QBQL:

`TABLE_DUM /= x = <NOT> x.`

What *division* am I talking about? Googling “relational division” brings up a list of usual suspects — articles by Date, Celko, etc — with some confusion leading to “Todd’s division”, ternary (!) division operation and so on. QBQL follows much cleaner definitions of *set equality join*, *set containment join* and alike readily found in academic literature. In the above identity the “/=” is binary set equality join operation, informally known as relational division.

Dual identity is also interesting. First, the dual of `TABLE_DUM`

, aka `R00`

is the universal relation `R11`

. The dual of unary complement operation is inversion. Duality among multiple division-like operations is not evident, but the reader might verify that *set intersection join* analogous to composition in the algebra of Binary Relations fits the bill:

`R11 /^ x = <INV> x.`