Re: How do I define a range of a symbol?

• To: mathgroup at christensen.cybernetics.net
• Subject: [mg898] Re: How do I define a range of a symbol?
• From: rubin at msu.edu (Paul A. Rubin)
• Date: Fri, 28 Apr 1995 00:55:59 -0400
• Organization: Michigan State University

```In article <3nhu1f\$7m2 at news0.cybernetics.net>, hsvrt at uunet.uu.net wrote:
->Can anyone help me with the following (probably elementary) problem:
->
->Is it possible to specify a range of a constant, e.g.
->
->0 < k < Infinity, or
->0 < k < 100, or
->k not equal to 0
->
->in a Mathematica session? I use Mathematica to do some heavy symbolic
->computation, and problems occur because Mathematica doesn't dare to do
->simplifications in which you have to assume that k is positive, not-zero
etc.
->
->Is there also a way to give Mathematica qualitative information about
->functions in order to improve calculation of limits etc? For instance, if
->
->f: R->R
->
->increases on R, then lim f(x) / Exp[f[x]] = 0 as x approaches (+)
Infinity.
->But how do I instruct Mathematica to understand this?
->
->
->Roger Strand
->Dept of Biochemistry and Molecular Biology
->University of Bergen, Norway
->e-mail roger.strand at svt.uib.no

In general, I do not think this is possible.  You can use upvalues to give
Mathematica this sort of information.  For instance, to specify 0 < k < 100
you could use

k /: Greater[ k, 0 ] = True
k /: Less[ k, 100 ] = True

There are two fundamental problems with this.  First, it is difficult to
know *how* Mma will check a condition.  Will it evaluate Greater[ k, 0 ]
(which will, by virtue of your input above, return True), or will it
evaluate Less[ 0, k ] (which will *not* return True)?  Second, I know of no
way to induce Mma to make such checks, and it is not clear to me that it
will do so on its own accord.  For instance, I believe it declines to
reduce Sqrt[ k^2 ] to k even if k is specified, via upvalues, to be
positive.  (And before someone flames me, yes, PowerExpand will reduce
Sqrt[ k^2 ] to k, but that's besides the point.)

Paul

**************************************************************************
* Paul A. Rubin                                  Phone: (517) 432-3509   *
* Department of Management                       Fax:   (517) 432-1111   *
* Eli Broad Graduate School of Management        Net:   RUBIN at MSU.EDU    *
* Michigan State University                                              *
* East Lansing, MI  48824-1122  (USA)                                    *
**************************************************************************
Mathematicians are like Frenchmen:  whenever you say something to them,
they translate it into their own language, and at once it is something
entirely different.                                    J. W. v. GOETHE

```

• Prev by Date: Re: help w/ SphericalPlot3D
• Next by Date: How to prevent Solve from DSolve?
• Previous by thread: How do I define a range of a symbol?
• Next by thread: Codes for using MathLink with GUI dialog boxes (New versions)