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
- References:
- Re: How can I evaluate this statement?
- From: magma <maderri2@gmail.com>
- Re: How can I evaluate this statement?