MathGroup Archive 2012

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Relational operators on intervals: bug?


On 15 Nov 2012, at 09:57, Andrzej Kozlowski <akozlowski at gmail.com> wrote:

>
> On 14 Nov 2012, at 22:01, Murray Eisenberg <murray at math.umass.edu> wrote:
>
>> On Nov 14, 2012, at 5:39 AM, Andrzej Kozlowski <akozlowski at gmail.com> wrote:
>>
>>>
>>> On 14 Nov 2012, at 07:28, Richard Fateman <fateman at 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
>
>
 Maybe the following example will make my point clearer.

Compare:

Resolve[Exists[x, Element[x, Primes]]]

 True

with

Resolve[Exists[x, PrimeQ[x]]]

False

Mathematica `predicates (functions ending with Q) always evaluate immediately to True or False and thus are generally unsuitable for use in symbolic expressions of the above kind.

Andrzej Kozlowski



  • Prev by Date: Re: The risks of Sphere export
  • Next by Date: Re: improving speed of simulation using random numbers
  • Previous by thread: Re: Relational operators on intervals: bug?
  • Next by thread: Re: Relational operators on intervals: bug?