Re: Resolve[Exists[i,{-1,0,2,-3,4,0}>0],Integers] does not work
- To: mathgroup at smc.vnet.net
- Subject: [mg85437] Re: [mg85409] Resolve[Exists[i,{-1,0,2,-3,4,0}>0],Integers] does not work
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Sun, 10 Feb 2008 05:21:24 -0500 (EST)
- References: <200802090919.EAA16976@smc.vnet.net>
On 9 Feb 2008, at 10:19, janos wrote:
> Resolve[Exists[x, a x^2 + b x + c == 0 && x > 0], Reals]
>
> (taken from the Help) works fine. However,
>
> Resolve[Exists[i, Part[{-1, 0, 2, -3, 4, 0}, i] > 0], Integers]
>
> does not work.
> My guess is that Part is evaluated differently from Equal,
> but I do not know how to fix the problem.
>
> Thank you.
>
> Janos
>
The problem is that Quanitifer Elimination , which is the algorithm
that is being used here, works only with polynomial equations and
inequalities and only over the real or complex numbers. So obviously
you can't use Part or any other programming (rather than algebraic)
construct. That's the main reason why this sort of thing won't work at
all. But in addition, no known general quantifier elimination
algorithm works over the integers so only very simple special cases
have been implmented in Mathematica. For example:
Resolve[Exists[i, Element[i, Integers], i^2 == 2]]
False
works, but the more complicated:
Resolve[ForAll[i, Element[i, Integers],
Exists[j, Element[j, Integers], j^2 == i]]]
ForAll[i, Element[i, Integers],
Exists[j, Element[j, Integers], j^2 == i]]
doesn't, while over the reals there is no problem:
Resolve[ForAll[i, Element[i, Reals], Exists[j, Element[j, Reals],
j^2 == i]]]
False
and
Resolve[ForAll[i, Element[i, Reals] && i >= 0,
Exists[j, Element[j, Reals], j^2 == i]]]
True
and so on.
Andrzej Kozlowski
- References:
- Resolve[Exists[i,{-1,0,2,-3,4,0}>0],Integers] does not work
- From: janos <janostothmeister@gmail.com>
- Resolve[Exists[i,{-1,0,2,-3,4,0}>0],Integers] does not work