# Re: Relational symmetric difference is well defined

Date: Fri, 15 Jun 2007 14:53:16 -0700

Message-ID: <1181944396.435969.12660_at_j4g2000prf.googlegroups.com>

On May 31, 6:40 pm, "V.J. Kumar" <vjkm..._at_gmail.com> wrote:

> Vadim Tropashko <vadimtro_inva..._at_yahoo.com> wrote innews:1180628927.976321.267880@a26g2000pre.googlegroups.com:

*>
**> > On May 30, 8:52 pm, Marshall <marshall.spi..._at_gmail.com> wrote:
**> >> Can you clarify the difference between set containment join and set
**> >> equality join? The inverse of join is much on my mind these days.
**>
**> > Set equality join
**>
**> > A(x,y)/=B(y,z) is {(x,z)| {y|A(x,y)}={y|A(y,z)} }
**>
**> > Set containment join
**>
**> > A(x,y)/=B(y,z) is {(x,z)| {y|A(x,y)}>{y|A(y,z)} }
**>
**> > where the ">" is "subset of".
**>
**> The above formulas obviously are no longer first-order expressions.
**> Along with the increased expressive power (e.g. it's trivial to define a
**> powerset), you will reap the usual drawbacks of the higher order logic.
*

Well, natural join is the second order expression too:

A(x,y)/\B(y,z) is {(x,z)| {y|A(x,y)}intersect{y|A(y,z)} != {} }

So having the second order definition is not necessarily that bad.