Exercise algebra.equations.rational
Description
solve a rational equation (with a variable in a divisor)
Strategy
<label name="rationalequation"> <sequence> <rule name=""/> <label name="rationalformtopolynomial"> <let> <decl var="0"> <orelse> <sequence> <rule name="check"/> <orelse> <choice> <rule name="algebra.equations.rational.division-zero"/> <rule name="algebra.equations.rational.division-one"/> <rule name="algebra.equations.rational.same-divisor"/> <rule name="algebra.equations.rational.same-dividend"/> <rule name="algebra.equations.coverup.plus"/> <rule name="algebra.equations.coverup.minus-left"/> <rule name="algebra.equations.coverup.minus-right"/> <rule name="algebra.equations.coverup.negate"/> </choice> <choice> <rule name="algebra.equations.rational.cross-multiply"/> <rule name="algebra.equations.rational.multiply-one-div"/> </choice> </orelse> <var var="0"/> </sequence> <succeed/> </orelse> </decl> <var var="0"/> </let> </label> <label name="higherdegree"> <sequence> <label name="higherdegreeform"> <let> <decl var="3"> <orelse> <sequence> <orelse> <let> <decl var="1"> <choice> <rule name="algebra.equations.polynomial.power-factors"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> <let> <decl var="1"> <choice> <rule name="algebra.equations.coverup.power"/> <rule name="algebra.equations.quadratic.product-zero"/> <rule name="algebra.equations.quadratic.same-factor"/> <rule name="algebra.equations.coverup.times"/> <rule name="algebra.equations.polynomial.expose-factor"/> <rule name="algebra.equations.coverup.onevar.plus"/> <rule name="algebra.equations.coverup.onevar.minus-left"/> <rule name="algebra.equations.coverup.onevar.minus-right"/> <rule name="algebra.equations.quadratic.same-con-factor"/> <rule name="algebra.equations.polynomial.subst"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> <let> <decl var="1"> <choice> <rule name="algebra.equations.quadratic.move-left"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> </orelse> <var var="3"/> </sequence> <succeed/> </orelse> </decl> <var var="3"/> </let> </label> <label name="quadratic"> <label name="quadraticequationstrategy"> <let> <decl var="4"> <orelse> <sequence> <orelse> <let> <decl var="1"> <choice> <label name="generalform"> <choice> <rule name="algebra.equations.quadratic.common-factor"/> <rule name="algebra.equations.quadratic.no-lin"/> <rule name="algebra.equations.quadratic.simpler-poly"/> <rule name="algebra.equations.quadratic.scale" removed="true"/> <rule name="algebra.equations.quadratic.nice-factors"/> <rule name="algebra.equations.coverup.power"/> </choice> </label> <label name="abcform"> <rule name="algebra.equations.quadratic.abc"/> </label> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> <let> <decl var="1"> <choice> <label name="zeroform"> <rule name="algebra.equations.quadratic.product-zero"/> </label> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> <let> <decl var="1"> <choice> <label name="constantform"> <choice> <rule name="algebra.equations.coverup.onevar.plus"/> <rule name="algebra.equations.coverup.onevar.minus-left"/> <rule name="algebra.equations.coverup.onevar.minus-right"/> <rule name="algebra.equations.coverup.times"/> <rule name="algebra.equations.coverup.negate"/> <rule name="algebra.equations.coverup.numerator"/> <rule name="algebra.equations.quadratic.square-both"/> <rule name="algebra.equations.quadratic.left-square"/> </choice> </label> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> <choice> <label name="squarerootsimplification"> <rule name="algebra.equations.quadratic.simpler-sqrt"/> </label> <label name="approximateresult" removed="true"> <label name="algebra.equations.quadratic.approx" collapsed="true"> <sequence> <let> <decl var="1"> <choice> <rule name="algebra.equations.quadratic.approx"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> <let> <decl var="3"> <orelse> <sequence> <let> <decl var="1"> <choice> <rule name="algebra.equations.quadratic.approx"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> <var var="3"/> </sequence> <succeed/> </orelse> </decl> <var var="3"/> </let> </sequence> </label> </label> </choice> <label name="topform"> <orelse> <let> <decl var="1"> <choice> <rule name="algebra.equations.quadratic.cancel"/> <rule name="algebra.equations.quadratic.same-factor"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> <choice> <let> <decl var="1"> <choice> <rule name="algebra.equations.quadratic.same-con-factor"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> <label name="algebra.equations.linear.merge" collapsed="true"> <sequence> <let> <decl var="1"> <choice> <rule name="algebra.equations.linear.merge"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> <let> <decl var="3"> <orelse> <sequence> <let> <decl var="1"> <choice> <rule name="algebra.equations.linear.merge"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> <var var="3"/> </sequence> <succeed/> </orelse> </decl> <var var="3"/> </let> </sequence> </label> <let> <decl var="1"> <choice> <rule name="algebra.equations.quadratic.distr-square"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> <label name="algebra.equations.linear.distr-times" collapsed="true"> <sequence> <let> <decl var="1"> <orelse> <rule name="algebra.equations.linear.distr-times"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </orelse> </decl> <var var="1"/> </let> <let> <decl var="3"> <orelse> <sequence> <let> <decl var="1"> <orelse> <rule name="algebra.equations.linear.distr-times"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </orelse> </decl> <var var="1"/> </let> <var var="3"/> </sequence> <succeed/> </orelse> </decl> <var var="3"/> </let> </sequence> </label> <rule name="algebra.equations.quadratic.distr-div"/> <let> <decl var="1"> <choice> <sequence> <rule name="check"/> <rule name="algebra.equations.linear.flip"/> </sequence> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> </choice> <let> <decl var="1"> <choice> <rule name="algebra.equations.quadratic.move-left"/> <rule name="algebra.equations.quadratic.prepare-split" removed="true"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> </orelse> </label> </orelse> <var var="4"/> </sequence> <succeed/> </orelse> </decl> <var var="4"/> </let> </label> </label> <label name="afterwards"> <orelse> <sequence> <rule name="algebra.equations.polynomial.back-subst"/> <let> <decl var="3"> <orelse> <sequence> <let> <decl var="1"> <choice> <rule name="algebra.equations.coverup.power"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> <var var="3"/> </sequence> <succeed/> </orelse> </decl> <var var="3"/> </let> </sequence> <succeed/> </orelse> </label> </sequence> </label> <label name="checksolutions"> <orelse> <label name="algebra.equations.rational.check-solution" collapsed="true"> <sequence> <let> <decl var="1"> <choice> <rule name="algebra.equations.rational.check-solution"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> <let> <decl var="3"> <orelse> <sequence> <let> <decl var="1"> <choice> <rule name="algebra.equations.rational.check-solution"/> <sequence> <rule name="navigator.down"/> <succeed/> <let> <decl var="2"> <choice> <var var="1"/> <sequence> <rule name="navigator.right"/> <succeed/> <var var="2"/> </sequence> </choice> </decl> <var var="2"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="1"/> </let> <var var="3"/> </sequence> <succeed/> </orelse> </decl> <var var="3"/> </let> </sequence> </label> <succeed/> </orelse> </label> </sequence> </label>
Locations
Location | Label |
[] | rationalequation |
[0] | ...rationalformtopolynomial |
[0,0] | ......algebra.equations.rational.division-zero |
[1,0] | ......algebra.equations.rational.division-one |
[2,0] | ......algebra.equations.rational.same-divisor |
[3,0] | ......algebra.equations.rational.same-dividend |
[4,0] | ......algebra.equations.coverup.plus |
[5,0] | ......algebra.equations.coverup.minus-left |
[6,0] | ......algebra.equations.coverup.minus-right |
[7,0] | ......algebra.equations.coverup.negate |
[8,0] | ......algebra.equations.rational.cross-multiply |
[9,0] | ......algebra.equations.rational.multiply-one-div |
[1] | ...higherdegree |
[0,1] | ......higherdegreeform |
[0,0,1] | .........algebra.equations.polynomial.power-factors |
[1,0,1] | .........algebra.equations.coverup.power |
[2,0,1] | .........algebra.equations.quadratic.product-zero |
[3,0,1] | .........algebra.equations.quadratic.same-factor |
[4,0,1] | .........algebra.equations.coverup.times |
[5,0,1] | .........algebra.equations.polynomial.expose-factor |
[6,0,1] | .........algebra.equations.coverup.onevar.plus |
[7,0,1] | .........algebra.equations.coverup.onevar.minus-left |
[8,0,1] | .........algebra.equations.coverup.onevar.minus-right |
[9,0,1] | .........algebra.equations.quadratic.same-con-factor |
[10,0,1] | .........algebra.equations.polynomial.subst |
[11,0,1] | .........algebra.equations.quadratic.move-left |
[1,1] | ......quadratic |
[0,1,1] | .........quadraticequationstrategy |
[0,0,1,1] | ............generalform |
[0,0,0,1,1] | ...............algebra.equations.quadratic.common-factor |
[1,0,0,1,1] | ...............algebra.equations.quadratic.no-lin |
[2,0,0,1,1] | ...............algebra.equations.quadratic.simpler-poly |
[3,0,0,1,1] | ...............algebra.equations.quadratic.scale |
[4,0,0,1,1] | ...............algebra.equations.quadratic.nice-factors |
[5,0,0,1,1] | ...............algebra.equations.coverup.power |
[1,0,1,1] | ............abcform |
[0,1,0,1,1] | ...............algebra.equations.quadratic.abc |
[2,0,1,1] | ............zeroform |
[0,2,0,1,1] | ...............algebra.equations.quadratic.product-zero |
[3,0,1,1] | ............constantform |
[0,3,0,1,1] | ...............algebra.equations.coverup.onevar.plus |
[1,3,0,1,1] | ...............algebra.equations.coverup.onevar.minus-left |
[2,3,0,1,1] | ...............algebra.equations.coverup.onevar.minus-right |
[3,3,0,1,1] | ...............algebra.equations.coverup.times |
[4,3,0,1,1] | ...............algebra.equations.coverup.negate |
[5,3,0,1,1] | ...............algebra.equations.coverup.numerator |
[6,3,0,1,1] | ...............algebra.equations.quadratic.square-both |
[7,3,0,1,1] | ...............algebra.equations.quadratic.left-square |
[4,0,1,1] | ............squarerootsimplification |
[0,4,0,1,1] | ...............algebra.equations.quadratic.simpler-sqrt |
[5,0,1,1] | ............approximateresult |
[0,5,0,1,1] | ...............algebra.equations.quadratic.approx |
[0,0,5,0,1,1] | ..................algebra.equations.quadratic.approx |
[1,0,5,0,1,1] | ..................algebra.equations.quadratic.approx |
[6,0,1,1] | ............topform |
[0,6,0,1,1] | ...............algebra.equations.quadratic.cancel |
[1,6,0,1,1] | ...............algebra.equations.quadratic.same-factor |
[2,6,0,1,1] | ...............algebra.equations.quadratic.same-con-factor |
[3,6,0,1,1] | ...............algebra.equations.linear.merge |
[0,3,6,0,1,1] | ..................algebra.equations.linear.merge |
[1,3,6,0,1,1] | ..................algebra.equations.linear.merge |
[4,6,0,1,1] | ...............algebra.equations.quadratic.distr-square |
[5,6,0,1,1] | ...............algebra.equations.linear.distr-times |
[0,5,6,0,1,1] | ..................algebra.equations.linear.distr-times |
[1,5,6,0,1,1] | ..................algebra.equations.linear.distr-times |
[6,6,0,1,1] | ...............algebra.equations.quadratic.distr-div |
[7,6,0,1,1] | ...............algebra.equations.linear.flip |
[8,6,0,1,1] | ...............algebra.equations.quadratic.move-left |
[9,6,0,1,1] | ...............algebra.equations.quadratic.prepare-split |
[2,1] | ......afterwards |
[0,2,1] | .........algebra.equations.polynomial.back-subst |
[1,2,1] | .........algebra.equations.coverup.power |
[2] | ...checksolutions |
[0,2] | ......algebra.equations.rational.check-solution |
[0,0,2] | .........algebra.equations.rational.check-solution |
[1,0,2] | .........algebra.equations.rational.check-solution |