Re: Help with Reduce and ForAll

• To: mathgroup at smc.vnet.net
• Subject: [mg127381] Re: Help with Reduce and ForAll
• From: Andrzej Kozlowski <akozlowski at gmail.com>
• Date: Fri, 20 Jul 2012 23:39:59 -0400 (EDT)
• Delivered-to: l-mathgroup@mail-archive0.wolfram.com
• Delivered-to: mathgroup-newout@smc.vnet.net
• Delivered-to: mathgroup-newsend@smc.vnet.net
• References: <20120720074952.853A06872@smc.vnet.net>

```On 20 Jul 2012, at 09:49, Adam Clark wrote:

> I have a fairly complicated set of inequalities in 6 variables.  One
of the variables is a speed parameter.  I need to know the constraints
on the other 5 variables that satisfy the system of inequalities for any
value of the speed between +1 and -1.  Is there a way I can use ForAll
(or some other command) to have Mathematica do this for me?
>
> Simply using Reduce on the system of inequalities produces 8 pages of
output that frequently uses Root and AlgebraicNumber as part of the
output.
>

It's hard to tell without knowing the equations, but I would say your
only hope is to try to use ForAll with Resolve. To illustrate the
difference between the working of Reduce and Resolve in such cases, here
is a very artificial example I just cooked up:

Reduce[
ForAll[t, -1 < t < 1, x^3 + t x^2 - x^4 + x^3 - x^24 + 1 > 0]]

Root[#1^23+#1^22+#1^21+#1^20+#1^19+#1^18+#1^17+#1^16+#1^15+#1^14+#1^13+#1^12+#1^11+#1^10+#1^9+#1^8+#1^7+#1^6+#1^5+#1^4+2 #1^3+#1+1&,1]<=x<=1

Now with Resolve:

Resolve[ForAll[t, -1 < t < 1, x^3 + t*x^2 - x^4 + x^3 - x^24 + 1 > 0]]
Element[x, Reals] && ((x^2 == 0 && x^24 + x^4 - 2*x^3 - 1 < 0 &&
x^24 + x^4 - 2*x^3 - x^2 - 1 < 0) ||
(x^2 < 0 && x^24 + x^4 - 2*x^3 - x^2 - 1 <= 0) ||
(-x^2 < 0 && x^24 + x^4 - 2*x^3 - x^2 - 1 < 0 &&
x^24 + x^4 - 2*x^3 + x^2 - 1 <= 0))

As you can see, Resolve eliminates the parameter t but does not attempt to solve the resulting equations or inequalities, which makes it more efficient. For some purposes (yours?) this kind of solution may be sufficient.

Andrzej Kozlowski

```

• Prev by Date: Re: can one make local symbol in a pure function?
• Next by Date: Re: FindCurvePath has a problem
• Previous by thread: Help with Reduce and ForAll
• Next by thread: FindCurvePath has a problem