• To: mathgroup at smc.vnet.net
• Subject: [mg101585] Re: [mg101527] about Implication
• From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
• Date: Fri, 10 Jul 2009 06:49:16 -0400 (EDT)
• References: <200907090558.BAA17362@smc.vnet.net>

```I think ImpliesQ uses CylindricalDecomposition and quantifier
elimination to test the implication between two statements involving
polynomial expressions in the same variables. Thus everything it can
do can also be done with Reduce. Let's take trivial example:

Experimental`ImpliesQ[x>3,x>2]

During evaluation of In[9]:= Experimental`ImpliesQ::obs:
Experimental`ImpliesQ has been superseded by Refine, and is now
obsolete. It will not be included in Mathematica version 8. >>

True

This could be done with Reduce:

Reduce[Not[x > 2] && x > 3]
False

However,  Reduce will attempt to use many more methods than InpliesQ
and therefore will tend to be slower. But, as we can see,  Mathematica
7 itself tells you the answer to your question (how come you did not
see it?): use Refine. So, the above examples can be done as follows:

Refine[Not[x > 2], x > 3]
False

Actually, the above example belongs to ImpliesRealQ, a more
specialized version of ImpliesQ. The following is an example that
won't be done by ImpliesRealQ:

In[3]:= Experimental`ImpliesQ[Element[x, Reals], Element[x, Complexes]]
During evaluation of In[3]:=
Experimental`ImpliesQ::obs:Experimental`ImpliesQ has been superseded
by Refine, and is now obsolete. It will not be included in Mathematica
version 8. >>
Out[3]= True

So ImpliesRealQ is also obsolete and indeed Refine is an equally
efficient way to do this example:

Refine[Element[x, Complexes], Element[x, Reals]]
True

Of course Simplify will also work but, just as Reduce, it is less
efficient.

Andrzej Kozlowski

On 9 Jul 2009, at 14:58, olfa wrote:

> Hi mathematica community,
> when trying to use the function ImpliesQ (that tests if exp1 implies
> exp2 or not) mathematica show me a message telling that this function
> becomes obsolete and will disappear in mathematica8, could you tell me
> why? and by which function it is replaced.
> NB:Implies doesnt do the same thing as ImpliesQ.
> thank you.
>

```

• Prev by Date: Re: 2dFFT & image processing
• Next by Date: Re: 2dFFT & image processing