0 QTRS
↳1 DependencyPairsProof (⇔)
↳2 QDP
↳3 QDPOrderProof (⇔)
↳4 QDP
↳5 QDPOrderProof (⇔)
↳6 QDP
↳7 PisEmptyProof (⇔)
↳8 TRUE
dx(X) → one
dx(a) → zero
dx(plus(ALPHA, BETA)) → plus(dx(ALPHA), dx(BETA))
dx(times(ALPHA, BETA)) → plus(times(BETA, dx(ALPHA)), times(ALPHA, dx(BETA)))
dx(minus(ALPHA, BETA)) → minus(dx(ALPHA), dx(BETA))
dx(neg(ALPHA)) → neg(dx(ALPHA))
dx(div(ALPHA, BETA)) → minus(div(dx(ALPHA), BETA), times(ALPHA, div(dx(BETA), exp(BETA, two))))
dx(ln(ALPHA)) → div(dx(ALPHA), ALPHA)
dx(exp(ALPHA, BETA)) → plus(times(BETA, times(exp(ALPHA, minus(BETA, one)), dx(ALPHA))), times(exp(ALPHA, BETA), times(ln(ALPHA), dx(BETA))))
DX(plus(ALPHA, BETA)) → DX(ALPHA)
DX(plus(ALPHA, BETA)) → DX(BETA)
DX(times(ALPHA, BETA)) → DX(ALPHA)
DX(times(ALPHA, BETA)) → DX(BETA)
DX(minus(ALPHA, BETA)) → DX(ALPHA)
DX(minus(ALPHA, BETA)) → DX(BETA)
DX(neg(ALPHA)) → DX(ALPHA)
DX(div(ALPHA, BETA)) → DX(ALPHA)
DX(div(ALPHA, BETA)) → DX(BETA)
DX(ln(ALPHA)) → DX(ALPHA)
DX(exp(ALPHA, BETA)) → DX(ALPHA)
DX(exp(ALPHA, BETA)) → DX(BETA)
dx(X) → one
dx(a) → zero
dx(plus(ALPHA, BETA)) → plus(dx(ALPHA), dx(BETA))
dx(times(ALPHA, BETA)) → plus(times(BETA, dx(ALPHA)), times(ALPHA, dx(BETA)))
dx(minus(ALPHA, BETA)) → minus(dx(ALPHA), dx(BETA))
dx(neg(ALPHA)) → neg(dx(ALPHA))
dx(div(ALPHA, BETA)) → minus(div(dx(ALPHA), BETA), times(ALPHA, div(dx(BETA), exp(BETA, two))))
dx(ln(ALPHA)) → div(dx(ALPHA), ALPHA)
dx(exp(ALPHA, BETA)) → plus(times(BETA, times(exp(ALPHA, minus(BETA, one)), dx(ALPHA))), times(exp(ALPHA, BETA), times(ln(ALPHA), dx(BETA))))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DX(plus(ALPHA, BETA)) → DX(ALPHA)
DX(plus(ALPHA, BETA)) → DX(BETA)
DX(times(ALPHA, BETA)) → DX(ALPHA)
DX(times(ALPHA, BETA)) → DX(BETA)
DX(minus(ALPHA, BETA)) → DX(ALPHA)
DX(minus(ALPHA, BETA)) → DX(BETA)
DX(div(ALPHA, BETA)) → DX(ALPHA)
DX(div(ALPHA, BETA)) → DX(BETA)
DX(ln(ALPHA)) → DX(ALPHA)
DX(exp(ALPHA, BETA)) → DX(ALPHA)
DX(exp(ALPHA, BETA)) → DX(BETA)
[ln1, dx1] > minus2 > one
[ln1, dx1] > div2 > [plus2, times2, exp2] > one
[ln1, dx1] > zero > one
[ln1, dx1] > two > one
a > zero > one
plus2: [1,2]
times2: [2,1]
minus2: [1,2]
div2: multiset
ln1: multiset
exp2: [1,2]
dx1: multiset
one: multiset
a: multiset
zero: multiset
two: multiset
dx(X) → one
dx(a) → zero
dx(plus(ALPHA, BETA)) → plus(dx(ALPHA), dx(BETA))
dx(times(ALPHA, BETA)) → plus(times(BETA, dx(ALPHA)), times(ALPHA, dx(BETA)))
dx(minus(ALPHA, BETA)) → minus(dx(ALPHA), dx(BETA))
dx(neg(ALPHA)) → neg(dx(ALPHA))
dx(div(ALPHA, BETA)) → minus(div(dx(ALPHA), BETA), times(ALPHA, div(dx(BETA), exp(BETA, two))))
dx(ln(ALPHA)) → div(dx(ALPHA), ALPHA)
dx(exp(ALPHA, BETA)) → plus(times(BETA, times(exp(ALPHA, minus(BETA, one)), dx(ALPHA))), times(exp(ALPHA, BETA), times(ln(ALPHA), dx(BETA))))
DX(neg(ALPHA)) → DX(ALPHA)
dx(X) → one
dx(a) → zero
dx(plus(ALPHA, BETA)) → plus(dx(ALPHA), dx(BETA))
dx(times(ALPHA, BETA)) → plus(times(BETA, dx(ALPHA)), times(ALPHA, dx(BETA)))
dx(minus(ALPHA, BETA)) → minus(dx(ALPHA), dx(BETA))
dx(neg(ALPHA)) → neg(dx(ALPHA))
dx(div(ALPHA, BETA)) → minus(div(dx(ALPHA), BETA), times(ALPHA, div(dx(BETA), exp(BETA, two))))
dx(ln(ALPHA)) → div(dx(ALPHA), ALPHA)
dx(exp(ALPHA, BETA)) → plus(times(BETA, times(exp(ALPHA, minus(BETA, one)), dx(ALPHA))), times(exp(ALPHA, BETA), times(ln(ALPHA), dx(BETA))))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DX(neg(ALPHA)) → DX(ALPHA)
[dx1, div] > [DX1, neg1] > [times, exp, ln]
[dx1, div] > one > [times, exp, ln]
[dx1, div] > plus1 > [times, exp, ln]
[dx1, div] > minus > [times, exp, ln]
[dx1, div] > two > [times, exp, ln]
[a, zero] > [times, exp, ln]
DX1: multiset
neg1: multiset
dx1: [1]
one: multiset
a: multiset
zero: multiset
plus1: multiset
times: multiset
minus: []
div: []
exp: []
two: multiset
ln: multiset
dx(X) → one
dx(a) → zero
dx(plus(ALPHA, BETA)) → plus(dx(ALPHA), dx(BETA))
dx(times(ALPHA, BETA)) → plus(times(BETA, dx(ALPHA)), times(ALPHA, dx(BETA)))
dx(minus(ALPHA, BETA)) → minus(dx(ALPHA), dx(BETA))
dx(neg(ALPHA)) → neg(dx(ALPHA))
dx(div(ALPHA, BETA)) → minus(div(dx(ALPHA), BETA), times(ALPHA, div(dx(BETA), exp(BETA, two))))
dx(ln(ALPHA)) → div(dx(ALPHA), ALPHA)
dx(exp(ALPHA, BETA)) → plus(times(BETA, times(exp(ALPHA, minus(BETA, one)), dx(ALPHA))), times(exp(ALPHA, BETA), times(ln(ALPHA), dx(BETA))))
dx(X) → one
dx(a) → zero
dx(plus(ALPHA, BETA)) → plus(dx(ALPHA), dx(BETA))
dx(times(ALPHA, BETA)) → plus(times(BETA, dx(ALPHA)), times(ALPHA, dx(BETA)))
dx(minus(ALPHA, BETA)) → minus(dx(ALPHA), dx(BETA))
dx(neg(ALPHA)) → neg(dx(ALPHA))
dx(div(ALPHA, BETA)) → minus(div(dx(ALPHA), BETA), times(ALPHA, div(dx(BETA), exp(BETA, two))))
dx(ln(ALPHA)) → div(dx(ALPHA), ALPHA)
dx(exp(ALPHA, BETA)) → plus(times(BETA, times(exp(ALPHA, minus(BETA, one)), dx(ALPHA))), times(exp(ALPHA, BETA), times(ln(ALPHA), dx(BETA))))