Re: Manipulation of equations and inequalities in "high-school style"

*To*: mathgroup at smc.vnet.net*Subject*: [mg19598] Re: Manipulation of equations and inequalities in "high-school style"*From*: Paul Abbott <paul at physics.uwa.edu.au>*Date*: Sat, 4 Sep 1999 01:34:30 -0400*Organization*: University of Western Australia*References*: <7q9hdf$o62@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Silvano D'Orazio wrote: > Does anybody know a Mathematica (3 or 4) package which allows > manipulaton of equations and inequalities like high-school students > are supposed to do? > > For example > > 2x+a = x-b subtract a > 2x = x-b-a divide by 2, subtract x > x = -b-a > > or > > (2^x-1)^(1/2) = 5b log both sides > (1/2)(x-1)log2 = log5 + logb multiply by 2, divide by log2 > > 2(log5 + logb) add 1 > x-1 = -------------- > log2 > > and so on. Here is a short Notebook which illustrates one way of doing this. Notebook[{ Cell[TextData[{ "If you modify ", Cell[BoxData[ FormBox[ StyleBox["Equal", "Input"], TraditionalForm]]], " (following Maeder) so that ", Cell[BoxData[ FormBox[ StyleBox["Listable", "Input"], TraditionalForm]]], " operations are automatically applied to both sides of any equality," }], "Text", CellTags->{"Equal", "Listable"}], Cell[BoxData[ \(TraditionalForm\`\(Unprotect[Equal];\)\)], "Input"], Cell[BoxData[ \(TraditionalForm\`listableQ(f_) := MemberQ(Attributes(f), Listable)\)], "Input"], Cell[BoxData[ \(TraditionalForm\`Equal /: \ lhs : f_Symbol? listableQ[___, \ _Equal, \ ___]\ := \n\ \ \ \ \ \ \ \ Thread[\ Unevaluated[lhs], \ Equal\ ]\)], "Input"], Cell[BoxData[ \(TraditionalForm\`\(Protect[Equal];\)\)], "Input"], Cell[TextData[{ "you can directly manipulate equations, ", StyleBox["e.g.", FontSlant->"Italic"], "," }], "Text"], Cell[BoxData[ \(TraditionalForm\`\(a + 2\ x == x - b;\)\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`% - a\)], "Input"], Cell[BoxData[ \(TraditionalForm\`2\ x == \(-a\) - b + x\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`% - x\)], "Input"], Cell[BoxData[ \(TraditionalForm\`x == \(-a\) - b\)], "Output"] }, Open ]], Cell["or", "Text"], Cell[BoxData[ \(TraditionalForm\`\(\ at 2\^\(x - 1\) == 5\ b;\)\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ FormBox[ RowBox[{"Simplify", "[", RowBox[{\(log(%)\), ",", RowBox[{"x", "\[Element]", TagBox["\[DoubleStruckCapitalR]", (Reals&)]}]}], "]"}], TraditionalForm]], "Input"], Cell[BoxData[ \(TraditionalForm\`1\/2\ \((x - 1)\)\ \(log(2)\) == log(5\ b)\)], "Output"] }, Open ]], Cell[TextData[{ "Note that ", Cell[BoxData[ FormBox[ RowBox[{"x", "\[Element]", TagBox["\[DoubleStruckCapitalR]", (Reals&)]}], TraditionalForm]]], " is required here. Then we can proceed:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`2 %\)], "Input"], Cell[BoxData[ \(TraditionalForm\`\((x - 1)\)\ \(log(2)\) == 2\ \(log(5\ b)\)\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`%\/\(log(2)\)\)], "Input"], Cell[BoxData[ \(TraditionalForm\`x - 1 == \(2\ \(log(5\ b)\)\)\/\(log(2)\)\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm\`% + 1\)], "Input"], Cell[BoxData[ \(TraditionalForm\`x == \(2\ \(log(5\ b)\)\)\/\(log(2)\) + 1\)], "Output"] }, Open ]] } ] ____________________________________________________________________ Paul Abbott Phone: +61-8-9380-2734 Department of Physics Fax: +61-8-9380-1014 The University of Western Australia Nedlands WA 6907 mailto:paul at physics.uwa.edu.au AUSTRALIA http://physics.uwa.edu.au/~paul God IS a weakly left-handed dice player ____________________________________________________________________