| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> OR operator in D&D algebra
D&D algebra defines the OR operator as
R(x,y) <OR> S(y,z) = {(x,y,z) | (x,y) in R & z in Z} union {(x,y,z) | (y,z) in S & x in X}
since application of both AND and OR operators monothonically increases the resulting relation header, there seems to be no way to satisfy the absorption identity
R <AND> (R <OR> S) = R
However, in Tarski cylindric algebras we routinely identify relations "R(x)" and "R(x) times Y" where Y is an unary relation that encompasses the full domain. So why don't we establish relation equavalence in such a way that
R(x,y) ~ S(y,z) iff there exists Q(y) such that R = Q |><| X and S = Q |><| Z
With such an equivalence RA projection is again is defined as a union, for example:
project(x) R(x,y) = [x] <OR> R
Let see if absorption law holds, then knowing that distributivity and de-morgan laws hold in D&D algebra one can suggest that we have boolean algebra.
R(x,y) <AND> ( R(x,y) <OR> S(y,z) ) =
{(x,y,z)| (x,y) in R & z in Z} intersect {(x,y,z) | (x,y,z) in R <OR>
S} =
{(x,y,z)| (x,y) in R & z in Z} intersect ( {(x,y,z) | (x,y) in R & z
in Z} union {(x,y,z) | (y,z) in S & x in X} ) = #(by set algebra
absorption)
{(x,y,z)| (x,y) in R & z in Z} ~ R
Received on Fri Jul 20 2007 - 20:51:43 CDT
![]() |
![]() |