MathGroup Archive 2009

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

Search the Archive

Re: about Implication

  • To: mathgroup at
  • Subject: [mg101585] Re: [mg101527] about Implication
  • From: Andrzej Kozlowski <akoz at>
  • Date: Fri, 10 Jul 2009 06:49:16 -0400 (EDT)
  • References: <>

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:


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. >>


This could be done with Reduce:

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

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]

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]]

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

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
  • Previous by thread: about Implication
  • Next by thread: Re: Re: about Implication