Exercise calculus.differentiation.quotient

Description
Use the quotient-rule to find the derivative of a polynomial. Only remove parentheses in the numerator.

Strategy

<label name="derivative-quotient">
  <sequence>
    <let>
      <decl var="3">
        <orelse>
          <sequence>
            <let>
              <decl var="1">
                <choice>
                  <orelse>
                    <label name="derivative-poly-step">
                      <sequence>
                        <rule name="check"/>
                        <rule name="calculus.differentiation.deriv-of-poly"/>
                      </sequence>
                    </label>
                    <choice>
                      <rule name="calculus.differentiation.quotient"/>
                      <rule name="calculus.differentiation.plus"/>
                      <rule name="calculus.differentiation.min"/>
                      <rule name="calculus.differentiation.negate"/>
                      <fail/>
                    </choice>
                  </orelse>
                  <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>
    <let>
      <decl var="4">
        <orelse>
          <sequence>
            <let>
              <decl var="2">
                <choice>
                  <rule name="algebra.equations.quadratic.distr-div"/>
                  <rule name="algebra.equations.quadratic.distr-square"/>
                  <rule name="algebra.equations.linear.distr-times"/>
                  <rule name="algebra.equations.linear.merge"/>
                  <rule name="algebra.equations.linear.no-div-con"/>
                  <fail/>
                  <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>

Locations

LocationLabel
[]derivative-quotient
[0]...derivative-poly-step
[0,0]......calculus.differentiation.deriv-of-poly
[1]...calculus.differentiation.quotient
[2]...calculus.differentiation.plus
[3]...calculus.differentiation.min
[4]...calculus.differentiation.negate
[5]...algebra.equations.quadratic.distr-div
[6]...algebra.equations.quadratic.distr-square
[7]...algebra.equations.linear.distr-times
[8]...algebra.equations.linear.merge
[9]...algebra.equations.linear.no-div-con