Exercise algebra.manipulation.exponents.simplify

Description
simplify expression (powers)

Strategy

<label name="simplify">
  <sequence>
    <rule name=""/>
    <let>
      <decl var="3">
        <orelse>
          <sequence>
            <let>
              <decl var="1">
                <choice>
                  <rule name="algebra.manipulation.exponents.add-exponents"/>
                  <rule name="algebra.manipulation.exponents.sub-exponents"/>
                  <rule name="algebra.manipulation.exponents.mul-exponents"/>
                  <rule name="algebra.manipulation.exponents.distr-power"/>
                  <rule name="algebra.manipulation.exponents.power-zero"/>
                  <rule name="algebra.manipulation.exponents.reciprocal-var"/>
                  <rule name="algebra.manipulation.exponents.write-as-power"/>
                  <rule name="arithmetic.operation.rational.power"/>
                  <rule name="algebra.manipulation.exponents.calc-power.plus"/>
                  <rule name="algebra.manipulation.exponents.calc-power.minus"/>
                  <rule name="algebra.manipulation.exponents.push-negation-out"/>
                  <fail/>
                  <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>

Locations

LocationLabel
[]simplify
[0]...algebra.manipulation.exponents.add-exponents
[1]...algebra.manipulation.exponents.sub-exponents
[2]...algebra.manipulation.exponents.mul-exponents
[3]...algebra.manipulation.exponents.distr-power
[4]...algebra.manipulation.exponents.power-zero
[5]...algebra.manipulation.exponents.reciprocal-var
[6]...algebra.manipulation.exponents.write-as-power
[7]...arithmetic.operation.rational.power
[8]...algebra.manipulation.exponents.calc-power.plus
[9]...algebra.manipulation.exponents.calc-power.minus
[10]...algebra.manipulation.exponents.push-negation-out