Re: Experimental`ImpliesQ, Help me understand it.
- To: mathgroup at smc.vnet.net
- Subject: [mg59247] Re: Experimental`ImpliesQ, Help me understand it.
- From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
- Date: Wed, 3 Aug 2005 01:19:51 -0400 (EDT)
- Organization: The Open University, Milton Keynes, U.K.
- References: <dcmu3r$gik$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Nasser Abbasi wrote: > > Hello; > > This 5.2 on windows. > > Starting from the logic that If sin^2+cos^2==q, then this implies q > must be 1, so I typed: > > ------------ > Remove["Global`*"] > Experimental`ImpliesQ[Sin[x]^2 + Cos[x]^2 == q, q == 1] > Experimental`ImpliesQ[FullSimplify[Sin[x]^2 + Cos[x]^2 == q], q == 1] > > False > > True > > ------------- > From the help it says: > > "ImpliesQ returns False if it cannot determine whether a implies a, > using any of its built-in transformation rules. " > > So, my question is, why did I have to fully simplify sin^2+cos^2==q to > get True? I would think I should get True without it. As the help > seems to say it will try all the build-in transformation rules? Hi Nasser, The documentation does not say ?all the built-in replacement rules? but ?any of *its* [the function *ImpliesQ*] built-in replacement rules?, which, I believe, make a huge difference :-) Especially keeping in mind that the function is located in a context called _Experimental_. So, if I were you, I would not expect too much of such a function, at least not without the help of a human brain and some Mathematica tweaking! Now, since *FullSimplify* returns q == 1, *ImpliesQ* is able to say that the first expression implies the second one, which is the same indeed? In[1]:= FullSimplify[Sin[x]^2 + Cos[x]^2 == q] Out[1]= q == 1 In[2]:= Experimental`ImpliesQ[FullSimplify[ Sin[x]^2 + Cos[x]^2 == q], q == 1] Out[2]= True Best regards, /J.M.