Exercise algebra.manipulation.rational.simplify
Description
simplify a rational expression (with a variable in a divisor)
Strategy
<label name="simplifyrationalexpression"> <sequence> <rule name=""/> <label name="writeasdivision"> <let> <decl var="0"> <orelse> <sequence> <rule name="check"/> <choice> <rule name="algebra.equations.rational.rational-plus"/> <rule name="algebra.equations.rational.rational-scale"/> <rule name="algebra.equations.rational.to-rational"/> </choice> <var var="0"/> </sequence> <succeed/> </orelse> </decl> <var var="0"/> </let> </label> <label name="simplifydivision"> <let> <decl var="6"> <orelse> <sequence> <orelse> <choice> <sequence> <rule name="navigator.down"/> <let> <decl var="0"> <orelse> <rule name="check"/> <sequence> <rule name="navigator.right"/> <var var="0"/> </sequence> </orelse> </decl> <var var="0"/> </let> <let> <decl var="4"> <choice> <label name="findfactorstep"> <let> <decl var="2"> <choice> <rule name="algebra.equations.quadratic.nice-factors"/> <rule name="algebra.equations.quadratic.common-factor"/> <rule name="algebra.equations.polynomial.factor-varpower"/> <rule name="algebra.equations.polynomial.simpler-linfactor"/> <sequence> <rule name="navigator.down"/> <let> <decl var="0"> <orelse> <rule name="check"/> <sequence> <rule name="navigator.right"/> <var var="0"/> </sequence> </orelse> </decl> <var var="0"/> </let> <let> <decl var="3"> <choice> <var var="2"/> <sequence> <rule name="navigator.right"/> <let> <decl var="0"> <orelse> <rule name="check"/> <sequence> <rule name="navigator.right"/> <var var="0"/> </sequence> </orelse> </decl> <var var="0"/> </let> <var var="3"/> </sequence> </choice> </decl> <var var="3"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="2"/> </let> </label> <sequence> <rule name="navigator.right"/> <let> <decl var="0"> <orelse> <rule name="check"/> <sequence> <rule name="navigator.right"/> <var var="0"/> </sequence> </orelse> </decl> <var var="0"/> </let> <var var="4"/> </sequence> </choice> </decl> <var var="4"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> <let> <decl var="1"> <choice> <rule name="algebra.equations.rational.cancel-div"/> <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> <sequence> <rule name="check"/> <rule name="navigator.down"/> <let> <decl var="0"> <orelse> <rule name="check"/> <sequence> <rule name="navigator.right"/> <var var="0"/> </sequence> </orelse> </decl> <var var="0"/> </let> <let> <decl var="5"> <choice> <let> <decl var="4"> <orelse> <sequence> <label name="findfactorstep"> <let> <decl var="2"> <choice> <rule name="algebra.equations.quadratic.nice-factors"/> <rule name="algebra.equations.quadratic.common-factor"/> <rule name="algebra.equations.polynomial.factor-varpower"/> <rule name="algebra.equations.polynomial.simpler-linfactor"/> <sequence> <rule name="navigator.down"/> <let> <decl var="0"> <orelse> <rule name="check"/> <sequence> <rule name="navigator.right"/> <var var="0"/> </sequence> </orelse> </decl> <var var="0"/> </let> <let> <decl var="3"> <choice> <var var="2"/> <sequence> <rule name="navigator.right"/> <let> <decl var="0"> <orelse> <rule name="check"/> <sequence> <rule name="navigator.right"/> <var var="0"/> </sequence> </orelse> </decl> <var var="0"/> </let> <var var="3"/> </sequence> </choice> </decl> <var var="3"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="2"/> </let> </label> <var var="4"/> </sequence> <succeed/> </orelse> </decl> <var var="4"/> </let> <sequence> <rule name="navigator.right"/> <let> <decl var="0"> <orelse> <rule name="check"/> <sequence> <rule name="navigator.right"/> <var var="0"/> </sequence> </orelse> </decl> <var var="0"/> </let> <var var="5"/> </sequence> </choice> </decl> <var var="5"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> <rule name="algebra.equations.rational.cancel-div"/> </sequence> </choice> <choice> <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> <label name="algebra.equations.linear.distr-times" collapsed="true"> <sequence> <let> <decl var="2"> <choice> <rule name="algebra.equations.linear.distr-times"/> <sequence> <rule name="navigator.down"/> <let> <decl var="0"> <orelse> <rule name="check"/> <sequence> <rule name="navigator.right"/> <var var="0"/> </sequence> </orelse> </decl> <var var="0"/> </let> <let> <decl var="3"> <choice> <var var="2"/> <sequence> <rule name="navigator.right"/> <let> <decl var="0"> <orelse> <rule name="check"/> <sequence> <rule name="navigator.right"/> <var var="0"/> </sequence> </orelse> </decl> <var var="0"/> </let> <var var="3"/> </sequence> </choice> </decl> <var var="3"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="2"/> </let> <let> <decl var="4"> <orelse> <sequence> <let> <decl var="2"> <choice> <rule name="algebra.equations.linear.distr-times"/> <sequence> <rule name="navigator.down"/> <let> <decl var="0"> <orelse> <rule name="check"/> <sequence> <rule name="navigator.right"/> <var var="0"/> </sequence> </orelse> </decl> <var var="0"/> </let> <let> <decl var="3"> <choice> <var var="2"/> <sequence> <rule name="navigator.right"/> <let> <decl var="0"> <orelse> <rule name="check"/> <sequence> <rule name="navigator.right"/> <var var="0"/> </sequence> </orelse> </decl> <var var="0"/> </let> <var var="3"/> </sequence> </choice> </decl> <var var="3"/> </let> <orelse> <rule name="navigator.up"/> <succeed/> </orelse> </sequence> </choice> </decl> <var var="2"/> </let> <var var="4"/> </sequence> <succeed/> </orelse> </decl> <var var="4"/> </let> </sequence> </label> </choice> </orelse> <var var="6"/> </sequence> <succeed/> </orelse> </decl> <var var="6"/> </let> </label> </sequence> </label>
Locations
Location | Label |
[] | simplifyrationalexpression |
[0] | ...writeasdivision |
[0,0] | ......algebra.equations.rational.rational-plus |
[1,0] | ......algebra.equations.rational.rational-scale |
[2,0] | ......algebra.equations.rational.to-rational |
[1] | ...simplifydivision |
[0,1] | ......findfactorstep |
[0,0,1] | .........algebra.equations.quadratic.nice-factors |
[1,0,1] | .........algebra.equations.quadratic.common-factor |
[2,0,1] | .........algebra.equations.polynomial.factor-varpower |
[3,0,1] | .........algebra.equations.polynomial.simpler-linfactor |
[1,1] | ......algebra.equations.rational.cancel-div |
[2,1] | ......findfactorstep |
[0,2,1] | .........algebra.equations.quadratic.nice-factors |
[1,2,1] | .........algebra.equations.quadratic.common-factor |
[2,2,1] | .........algebra.equations.polynomial.factor-varpower |
[3,2,1] | .........algebra.equations.polynomial.simpler-linfactor |
[3,1] | ......algebra.equations.rational.cancel-div |
[4,1] | ......algebra.equations.linear.merge |
[5,1] | ......algebra.equations.linear.distr-times |
[0,5,1] | .........algebra.equations.linear.distr-times |
[1,5,1] | .........algebra.equations.linear.distr-times |