mathematical relations

*To*: mathgroup at ncsa.uiuc.edu*Subject*: mathematical relations*From*: uunet!finsun.CSC.FI!pjanhune*Date*: Thu, 7 Jun 90 15:45:16 +0300

It seems that Mathematica's ability to deal with relations (inequalities etc.) is not as good as it could be. There have been a large number of mailings about this, too. So I coded the very basic mathematical relations and put them to package Declare.m. A demonstration is found in file DeclareDemo.m. The files are in the Symbolic/New directory and are ready to ftp. Typical usage: <<Declare.m Declare[{x,y}, Real]; Declare[n,Integer]; Declare[m,Odd] EvenQ[(2n-5)(m+3)] -> True NonNegative[x^2 + y^2] -> True Sqrt[x^2] -> Abs[x] etc.. The package Declare.m is not trying to be a complete implementation of relations, but should at least demonstrate that it IS possible to teach relations to Mathematica. Extending and optimizing the package would require more knowledge of the internals of Mathematica. Feel free to experiment and modify the package, which is NOT GUARANTEED to be bug-free. Pekka Janhunen Finnish Meteorological Institute, Geophysics Dept. P.S. This package also provides an answer to David Marchette: Do <<Declare.m Declare[s,Positive] Integrate[Exp[-(x/s)^2/2]/(Sqrt[2 Pi] s),{x,-Infinity,Infinity}] -> 1 The example with a product of two Gaussians is not simplified even now, but calling % /. a_^b_ :> Factor[a]^b cures in this case.