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?