# Boost :

From: Guillaume Melquiond (gmelquio_at_[hidden])
Date: 2002-09-06 11:48:56

On Fri, 6 Sep 2002, Joel Young wrote:

> Hi Doug,
>
> From: Douglas Gregor <gregod_at_[hidden]>
> > where a <= x <= c, b <= y <= d
> is there a typo in this? Should it be:
> where a <= x <= b, c <= y <= d
>
> assuming there is a typo,
>
> Just to understand this I quickly came up with the following
> three-valued logic partionings of the interval-interval space for:
>
> [a,b] RelOp [c,d] iff
> Conjunction of x RelOp y for all (x, y)
> where a <= x <= b, c <= y <= d
>
> Where Conjunction is three-valued conjunction.
>
> true false indeterminate
> ------------------------------------------------------
> < == {<} {>,mi} A - {<,>,mi}
> <= == {<,m} {>} A - {<,>,m}
> = == {} {<,>} A - {<,>}
> != == {<,>} {} A - {<,>}
> >= == {>,mi} {<} A - {<,>,mi}
> > == {>} {<,m} A - {<,>,m}
>
> where A = {<,>,m, mi, o, oi, s, si, f, fi, d, di, =}
>
> Except for (IMHO verboten) point-intervals, true(=) is empty?

Yes, you get it right. But why should point-intervals be forbidden?

> Are the existential versions of interest?:
>
> [a,b] RelOp [c,d] iff
> Conjunction of
> (for all x in [a,b] there exists a y in [c,d] such that x RelOp y)
>
> or
>
> [a,b] RelOp [c,d] iff
> Conjunction of
> (for all y in [c,d] there exists a x in [a,b] such that x RelOp y)
>
> or
>
> [a,b] RelOp [c,d] iff
> Conjunction of
> (there exists a x in [a,b] and a y in [c,d]) such that x RelOp y)

The last one is the one I use. And I use it as often as the "forall"
version.

Regards,

Guillaume