View this page in Romanian courtesy of azoft

View this page in Slovakian courtesy of Sciologness Team

View this page in Polish courtesy of Valeria Aleksandrova

*MathXpert* allows its user to solve mathematical problems and to make graphs. When solving a problem, it allows the user to construct a step-by-step solution, rather than just producing a one-line answer. Each step is done by applying some mathematical operation to the preceding line, and is given with its justification. The user produces a new line by using the mouse to select a part of the current line to change. Then a menu of operations appears, and the user selects an operation to apply. The computer carries out the drudgery of actually applying the operation. Hence you cannot make a "slip" like dropping a minus sign. You are also protected from logical errors, like dividing by zero, and from conceptual errors, such as applying an incorrect law like ln(*a+b*) = ln *a* + ln *b*. Such an incorrect law can't be found on the menu, so you can't apply it. When you have finished working your problem, you can print it out and turn it in for your homework.

*MathXpert *not only has the ability to carry out individual steps on command, but it also contains a sophisticated set of rules enabling it to solve almost any textbook problem in the subjects mentioned. It uses this ability to provide assistance to the student who does not know what to do. It can, if necessary, generate a complete step-by-step solution for the student to examine. It offers several less extreme options: there is a **Hint **button, and there is an

*MathXpert *differs from software like *Maple* and *Mathematica* in these main respects:

- It produces step-by-step solutions using operations students are taught
- It will not permit you to make a logical error
- It is entirely controlled by the mouse, menus, and buttons. The time required to start using it effectively is about five minutes.

*MathXpert* can make many different kinds of graphs. There are several features that differentiate the *MathXpert* grapher from other graphers:

- It draws graphs correctly, even if the function has singularities. Other graphers insert incorrect vertical lines, or graph asymptotic portions incorrectly.
- It allows you to rapidly draw a series of graphs by changing the value of a parameter in the formula, without having to edit the formula.
- It can graph any function. For example, you can graph the partial sums of a Fourier series with the number of terms as a parameter.

In that example, you can see how wrong the famous mathematician Leonhard Euler was in 1753 when he denied Bernoulli's assertion that any function could be written as the sum of a trigonometric series. Euler thought that since the trigonometric functions are continuous, the sum of a series of them must be continuous too. If he had had *MathXpert, *he wouldn't have made that mistake--you can clearly see the discontinuity building up as the number of terms increases, and you can clearly see what the physicists call the "Gibbs phenomenon" of oscillation near the discontinuity. As it was, Euler's influence set back the development of Fourier series fifty years. Fourier had to get himself elected to the French Academy before he could publish his seminal work in 1807. But I digress...

*MathXpert *is marketed by Help With Math . At that web site you can find more information about *MathXpert*, including a description of how to use it, complete with sample screens.

If you want to read my papers about *MathXpert, *I recommend [37] as the place to start.

One of the principles on which *MathXpert* is based is the *correctness* principle. This means that the computer will never generate a mathematically incorrect result. This is not true of other symbolic calculation programs in common use. These other programs, for example, can be given the equation *a =0 *and told to divide by sides by *a*. The result will be 1=0, since they contain the rule *a/a = *1 and also the rule 0/*a = *0.

In order to achieve the goal of mathematical correctness, it was necessary to build a fairly sophisticated theorem-prover into *MathXpert. *There is, then, a direct connection between this applied software project and my research in automated deduction, which centers on the relations between logic and computation. This aspect of the project is the focus of [30] and [34]. Since the prover is more or less "invisible" in *MathXpert*, it can use some esoteric techniques if they are useful, and I discovered an interesting application of non-standard analysis to the problem of making sure that deductions are correct in connection with limit problems. The problem and its solution using non-standard analysis are given in [36].

Several other design principles on which *MathXpert *is based are explained in [31] and [37].