Wednesday, April 19, 2017

Mathtoys update

Mathtoys has evolved considerably since my last update, and the changes post frequently to the site. There has been a fundamental change in the primary approach to solving an algebra problem, which itself changes some aspects of the user experience, and a handful of other notable changes in the user experience.

Straight-through problem solving in Mathtoys

Mathtoys has always proved every user step with its internal proof engine.
Older versions of Mathtoys nicely supported inference from the problem statement to a "solution", so that if the givens were true, the solution statement must be true.  These were all valid proofs, but the results were really "candidate" solutions, and in principle they required some sort of formal check that the solution was correct. This is easy enough to do by going back to the problem statement, replacing the variable with the candidate solution value, and checking that the result is a true statement.  On the other hand this is not necessary for many algebra problems, if you are confident that all the steps have been done correctly.

Recent versions of Mathtoys work directly with equivalences where possible. Steps display with a mathematical "equivalence" symbol "≡", indicating that the line is equivalent to the one above it and thus true for exactly the same values of the problem variables. When the final result is equivalent to the problem statement, the problem is solved without need for any further work, and you have a "straight-through" solution with no going back to check.

In some cases it is not possible to work with equivalent steps, but Mathtoys tries to do this when it can.  Of course if you solve a math problem by hand it is a good practice to go back and check for errors you may have made along the way.

Solving simultaneous equations

Mathtoys also solves simultaneous linear equations "straight-through" as well, using equivalences. This means that a problem statement says that all of the equations are true using a mathematical "and" also known as a "conjunction". If you choose to solve example simultaneous equations on the web site, you will see that the equations are connected with the mathematical "∧" symbol.

As you work through a problem, Mathtoys shows that each set of equations is equivalent to the set in the previous step and displays the "≡" symbol to indicate this.

Step suggestions

Until recently Mathtoys offered you a menu of things to do next, sometimes with an indication of what the result would look like. New in the user interface, Mathtoys may offer you some specific suggestions of exact next steps you can choose from as you work on a problem.  Some steps have descriptions in a menu, as before, but for many you get to see exactly what the next step could be if you choose it.

Solution status display

As your work on a problem approaches the desired form, Mathtoys now notices the progress and informs you wth a message. This applies especially to simultaneous equations, where each equation can make its own progress toward a solution.

Vacuously true statements

You can think of a vacuously true statement as a sort of mathematical joke. For example, if Santa Claus does not have any pigs, it is mathematically true that “All of Santa’s pigs can fly”! Vacuously true statements can also play a role in mathematical fallacies, which are incorrect arguments that may look reasonable until you take a closer look at them.

You might want to review the previous posting on the meaning of "implies". The key to understanding vacuous statements is that if the “antecedent” (left side) of an implication is false, the whole statement is true no matter whether the right side (“consequent”) is reasonable or not. In our little example, it is true that all of Santa’s pigs can fly, even if no pig in the entire world can fly. And I guess all purple cows are math whizzes, too — unless of course there really is a purple cow somewhere.

In the truth table for the implication operator (P ⇒ Q), if you look at the rows where P is false, you will see that the whole implication is true regardless of whether Q is true or not. So any implication with "false" on the left side is true; and we say "false implies anything".

The definition of "⇒" gives just the results we need to do mathematics — just watch out for statements that are vacuously true!