Re: more closed-world chatter

From: Marshall <marshall.spight_at_gmail.com>
Date: 5 May 2007 11:51:48 -0700
Message-ID: <1178391108.585832.316470_at_p77g2000hsh.googlegroups.com>


On May 5, 10:04 am, "David Cressey" <cresse..._at_verizon.net> wrote:
> "David BL" <davi..._at_iinet.net.au> wrote in message
>
> news:1178377225.112732.324630_at_e65g2000hsc.googlegroups.com...
>
> > On May 5, 3:16 am, Marshall <marshall.spi..._at_gmail.com> wrote:
>
> > [snip]
>
> > > def pricedomain = set {1, 2};
> > > def anotherdomain = set {3};
>
> > > def R1 = set(price) [price : pricedomain] {(1)};
> > > def R2 = set(price) [price : anotherdomain] {(3)};
>
> > > def R = R1 & R2;
> > > ---
>
> > > At this point, what is the value of R?
>
> > > R = set(price) [price:pricedomain; price:anotherdomain] {};
>
> > > Since the union of pricedomain and anotherdomain is empty:
>
> > IMO it's confusing to talk about taking a "union of the constraints".
> > In a sense you are aggregating them. I would call it an ANDing of
> > constraints as boolean valued expressions, which leads to set
> > intersections not unions.
>
> Sorry to add to the confusion, but I will: the union of the constraints
> yields the intersection of the data. Clear as mud?

Yes, exactly.

All the constraints that apply in a given context could be thought of as a set, or they could be thought of as a single constraint, with the terms ANDed together. Furthermore, a single constraint can be put in Conjunctive Normal Form and each term can then be separated.

I remember reading about Prolog some years ago, and seeing: "the comma can be read as AND" and thinking WTF?! But if you have an expression like

   x > 0, x < 10

then the comma certainly means AND.

http://en.wikipedia.org/wiki/Conjunctive_normal_form

Marshall Received on Sat May 05 2007 - 20:51:48 CEST

Original text of this message