MathGroup Archive 2008

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

Search the Archive

Re: Re: How can I evaluate this statement?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg90025] Re: [mg89970] Re: How can I evaluate this statement?
  • From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
  • Date: Thu, 26 Jun 2008 04:46:20 -0400 (EDT)
  • References: <g3q7n2$akf$1@smc.vnet.net> <g3r4ml$q3c$1@smc.vnet.net> <200806251029.GAA18865@smc.vnet.net>

On 25 Jun 2008, at 19:29, magma wrote:

> On Jun 24, 5:43 pm, Jean-Marc Gulliet <jeanmarc.gull... at gmail.com>
> wrote:
>> pircdefense wrote:
>>> I'm trying to show for all real numbers whether the following  
>>> statement is true or false:
>>
>>> If a > b, then a^2 > b^2. I've tried various syntax and  
>>> configurations in Mathematica, but I can't get it to report true  
>>> or false. Can anyone offer a solution?
>>
>> Functions such as ForAll, Exists, Resolve, Reduce, or FindInstance  
>> are
>> your friends here. For instance,
>>
>> In[1]:= Resolve[ForAll[{a, b}, a > b, a^2 > b^2]]
>>
>> Out[1]= False
>>
>> In[2]:= Resolve[ForAll[{a, b}, Inequality[a, Greater, b,  
>> GreaterEqual, 0],
>>      a^2 > b^2]]
>>
>> Out[2]= True
>>
>> In[3]:= Reduce[a > b && a^2 > b^2]
>>
>> Out[3]= (b <= 0 && a > -b) || (b > 0 && a > b)
>>
>> In[4]:= FindInstance[a > b && a^2 > b^2, {a, b}]
>>
>> Out[4]= {{a -> 2, b -> -1}}
>>
>> Regards,
>> -- Jean-Marc
>
> Uhm....something is not clear to me.
> If we consider the given statement:
>
> expr = ForAll[{a, b}, a > b, a^2 > b^2]
>
> we know it is false:
>
> FullSimplify[expr]
>
> so its negation
>
> !expr
>
> is true
>
> FullSimplify[! expr]
>
> We can then ask Mathematica for instances
>
> FindInstance[! expr, {a, b}]
>
> and surprisingly we get a->0 and b->0, which do not respect the
> condition a>b.
>
> On the other end,
>
> Reduce[a > b && a^2 <= b^2]
>
> gives
>
> b < 0 && b < a <= -b
>
> which  - correctly - excludes b->0 and a->0.
> So Reduce is correct, FindInstance seems not.
>
> Can somebody explain this?
>

Note that

Reduce[! ForAll[{a, b}, a > b, a^2 > b^2]]
True

So the negation of expr is simply True. What you are asking  
Mathematica to do is therefore the same as:

FindInstance[True, {a, b}, Reals]
{{a -> 33/10, b -> 8/5}}

This is, of course, as good an answer as any other pair of real s,  
including {0,0}. What you really should have asked for is something  
like:

FindInstance[a > b && ! (a^2 > b^2), {a, b}]
{{a -> 0, b -> -1}}

which is a different matter.

Andrzej Kozlowski



  • Prev by Date: Re: font size too small
  • Next by Date: Re: Export PDF plot or Save Selection As -- big troubles with Illustrator
  • Previous by thread: Re: How can I evaluate this statement?
  • Next by thread: Re: How can I evaluate this statement?