
Re: Relational operators on intervals: bug?
Posted:
Nov 15, 2012 4:07 AM


On 14 Nov 2012, at 22:01, Murray Eisenberg <murray@math.umass.edu> wrote:
> On Nov 14, 2012, at 5:39 AM, Andrzej Kozlowski <akozlowski@gmail.com> wrote: > >> >> On 14 Nov 2012, at 07:28, Richard Fateman <fateman@cs.berkeley.edu> wrote: >> >>> On 11/12/2012 9:13 PM, Murray Eisenberg wrote: >>> >>>> >>>> Here is the empty interval in Mathematica: >>>> >>>> Interval[{1, 0}] >>>> >>>> Indeed: >>>> >>>> Resolve[Exists[x, IntervalMemberQ[Interval[{1, 0}], x]]] >>>> False >>>> >>> Apparently this doesn't mean what you think it does. It gives the same >>> answer for Interval[{0,1}]. >> >> Of course that is because >> >> IntervalMemberQ[Interval[{0, 1}], x] >> >> False > > What remains surprising to me is: > > Resolve[Exists[x, x \[Element] Reals, IntervalMemberQ[Interval[{0, 1}], x]]] > False >
I don't find it surprising. All you are doing is, evaluating Exists[x,Element[x,Reals],False] which is False and then Resolve[False] which is also False.The fact that IntervalMemberQ[Interval[{0, 1}], x] immediately evaluates to False (unlike, for example, 0<x<1, which evaluates to itself) is responsible for this and shows that IntervalMemberQ is not intended to be used in symbolic expressions. Compare this with
Resolve[Exists[x, x \[Element] Reals, 0 < x < 1]]
True
Andrzej Kozlowski

