MathGroup Archive 2009

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

Search the Archive

Re: about Implication

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