0 QTRS
↳1 Overlay + Local Confluence (⇔)
↳2 QTRS
↳3 DependencyPairsProof (⇔)
↳4 QDP
↳5 DependencyGraphProof (⇔)
↳6 QDP
↳7 QDPOrderProof (⇔)
↳8 QDP
↳9 QDPOrderProof (⇔)
↳10 QDP
↳11 DependencyGraphProof (⇔)
↳12 QDP
↳13 QDPOrderProof (⇔)
↳14 QDP
↳15 QDPOrderProof (⇔)
↳16 QDP
↳17 PisEmptyProof (⇔)
↳18 TRUE
din(der(plus(X, Y))) → u21(din(der(X)), X, Y)
u21(dout(DX), X, Y) → u22(din(der(Y)), X, Y, DX)
u22(dout(DY), X, Y, DX) → dout(plus(DX, DY))
din(der(times(X, Y))) → u31(din(der(X)), X, Y)
u31(dout(DX), X, Y) → u32(din(der(Y)), X, Y, DX)
u32(dout(DY), X, Y, DX) → dout(plus(times(X, DY), times(Y, DX)))
din(der(der(X))) → u41(din(der(X)), X)
u41(dout(DX), X) → u42(din(der(DX)), X, DX)
u42(dout(DDX), X, DX) → dout(DDX)
din(der(plus(X, Y))) → u21(din(der(X)), X, Y)
u21(dout(DX), X, Y) → u22(din(der(Y)), X, Y, DX)
u22(dout(DY), X, Y, DX) → dout(plus(DX, DY))
din(der(times(X, Y))) → u31(din(der(X)), X, Y)
u31(dout(DX), X, Y) → u32(din(der(Y)), X, Y, DX)
u32(dout(DY), X, Y, DX) → dout(plus(times(X, DY), times(Y, DX)))
din(der(der(X))) → u41(din(der(X)), X)
u41(dout(DX), X) → u42(din(der(DX)), X, DX)
u42(dout(DDX), X, DX) → dout(DDX)
din(der(plus(x0, x1)))
u21(dout(x0), x1, x2)
u22(dout(x0), x1, x2, x3)
din(der(times(x0, x1)))
u31(dout(x0), x1, x2)
u32(dout(x0), x1, x2, x3)
din(der(der(x0)))
u41(dout(x0), x1)
u42(dout(x0), x1, x2)
DIN(der(plus(X, Y))) → U21(din(der(X)), X, Y)
DIN(der(plus(X, Y))) → DIN(der(X))
U21(dout(DX), X, Y) → U22(din(der(Y)), X, Y, DX)
U21(dout(DX), X, Y) → DIN(der(Y))
DIN(der(times(X, Y))) → U31(din(der(X)), X, Y)
DIN(der(times(X, Y))) → DIN(der(X))
U31(dout(DX), X, Y) → U32(din(der(Y)), X, Y, DX)
U31(dout(DX), X, Y) → DIN(der(Y))
DIN(der(der(X))) → U41(din(der(X)), X)
DIN(der(der(X))) → DIN(der(X))
U41(dout(DX), X) → U42(din(der(DX)), X, DX)
U41(dout(DX), X) → DIN(der(DX))
din(der(plus(X, Y))) → u21(din(der(X)), X, Y)
u21(dout(DX), X, Y) → u22(din(der(Y)), X, Y, DX)
u22(dout(DY), X, Y, DX) → dout(plus(DX, DY))
din(der(times(X, Y))) → u31(din(der(X)), X, Y)
u31(dout(DX), X, Y) → u32(din(der(Y)), X, Y, DX)
u32(dout(DY), X, Y, DX) → dout(plus(times(X, DY), times(Y, DX)))
din(der(der(X))) → u41(din(der(X)), X)
u41(dout(DX), X) → u42(din(der(DX)), X, DX)
u42(dout(DDX), X, DX) → dout(DDX)
din(der(plus(x0, x1)))
u21(dout(x0), x1, x2)
u22(dout(x0), x1, x2, x3)
din(der(times(x0, x1)))
u31(dout(x0), x1, x2)
u32(dout(x0), x1, x2, x3)
din(der(der(x0)))
u41(dout(x0), x1)
u42(dout(x0), x1, x2)
U21(dout(DX), X, Y) → DIN(der(Y))
DIN(der(plus(X, Y))) → U21(din(der(X)), X, Y)
DIN(der(plus(X, Y))) → DIN(der(X))
DIN(der(times(X, Y))) → U31(din(der(X)), X, Y)
U31(dout(DX), X, Y) → DIN(der(Y))
DIN(der(times(X, Y))) → DIN(der(X))
DIN(der(der(X))) → U41(din(der(X)), X)
U41(dout(DX), X) → DIN(der(DX))
DIN(der(der(X))) → DIN(der(X))
din(der(plus(X, Y))) → u21(din(der(X)), X, Y)
u21(dout(DX), X, Y) → u22(din(der(Y)), X, Y, DX)
u22(dout(DY), X, Y, DX) → dout(plus(DX, DY))
din(der(times(X, Y))) → u31(din(der(X)), X, Y)
u31(dout(DX), X, Y) → u32(din(der(Y)), X, Y, DX)
u32(dout(DY), X, Y, DX) → dout(plus(times(X, DY), times(Y, DX)))
din(der(der(X))) → u41(din(der(X)), X)
u41(dout(DX), X) → u42(din(der(DX)), X, DX)
u42(dout(DDX), X, DX) → dout(DDX)
din(der(plus(x0, x1)))
u21(dout(x0), x1, x2)
u22(dout(x0), x1, x2, x3)
din(der(times(x0, x1)))
u31(dout(x0), x1, x2)
u32(dout(x0), x1, x2, x3)
din(der(der(x0)))
u41(dout(x0), x1)
u42(dout(x0), x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
U21(dout(DX), X, Y) → DIN(der(Y))
DIN(der(plus(X, Y))) → U21(din(der(X)), X, Y)
DIN(der(times(X, Y))) → U31(din(der(X)), X, Y)
U31(dout(DX), X, Y) → DIN(der(Y))
[dout1, u321] > [DIN, der, U41] > din
[dout1, u321] > u222
[dout1, u321] > u421
u222: [1,2]
din: []
u321: [1]
u421: [1]
U41: []
DIN: []
dout1: [1]
der: []
u22(dout(DY), X, Y, DX) → dout(plus(DX, DY))
din(der(times(X, Y))) → u31(din(der(X)), X, Y)
din(der(plus(X, Y))) → u21(din(der(X)), X, Y)
u21(dout(DX), X, Y) → u22(din(der(Y)), X, Y, DX)
u32(dout(DY), X, Y, DX) → dout(plus(times(X, DY), times(Y, DX)))
u31(dout(DX), X, Y) → u32(din(der(Y)), X, Y, DX)
u41(dout(DX), X) → u42(din(der(DX)), X, DX)
din(der(der(X))) → u41(din(der(X)), X)
u42(dout(DDX), X, DX) → dout(DDX)
DIN(der(plus(X, Y))) → DIN(der(X))
DIN(der(times(X, Y))) → DIN(der(X))
DIN(der(der(X))) → U41(din(der(X)), X)
U41(dout(DX), X) → DIN(der(DX))
DIN(der(der(X))) → DIN(der(X))
din(der(plus(X, Y))) → u21(din(der(X)), X, Y)
u21(dout(DX), X, Y) → u22(din(der(Y)), X, Y, DX)
u22(dout(DY), X, Y, DX) → dout(plus(DX, DY))
din(der(times(X, Y))) → u31(din(der(X)), X, Y)
u31(dout(DX), X, Y) → u32(din(der(Y)), X, Y, DX)
u32(dout(DY), X, Y, DX) → dout(plus(times(X, DY), times(Y, DX)))
din(der(der(X))) → u41(din(der(X)), X)
u41(dout(DX), X) → u42(din(der(DX)), X, DX)
u42(dout(DDX), X, DX) → dout(DDX)
din(der(plus(x0, x1)))
u21(dout(x0), x1, x2)
u22(dout(x0), x1, x2, x3)
din(der(times(x0, x1)))
u31(dout(x0), x1, x2)
u32(dout(x0), x1, x2, x3)
din(der(der(x0)))
u41(dout(x0), x1)
u42(dout(x0), x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DIN(der(der(X))) → U41(din(der(X)), X)
[DIN, dout, u32, u42] > din
[DIN, dout, u32, u42] > u221
din: []
u221: [1]
u42: []
dout: []
DIN: []
u32: []
u22(dout(DY), X, Y, DX) → dout(plus(DX, DY))
din(der(times(X, Y))) → u31(din(der(X)), X, Y)
din(der(plus(X, Y))) → u21(din(der(X)), X, Y)
u21(dout(DX), X, Y) → u22(din(der(Y)), X, Y, DX)
u32(dout(DY), X, Y, DX) → dout(plus(times(X, DY), times(Y, DX)))
u31(dout(DX), X, Y) → u32(din(der(Y)), X, Y, DX)
u41(dout(DX), X) → u42(din(der(DX)), X, DX)
din(der(der(X))) → u41(din(der(X)), X)
u42(dout(DDX), X, DX) → dout(DDX)
DIN(der(plus(X, Y))) → DIN(der(X))
DIN(der(times(X, Y))) → DIN(der(X))
U41(dout(DX), X) → DIN(der(DX))
DIN(der(der(X))) → DIN(der(X))
din(der(plus(X, Y))) → u21(din(der(X)), X, Y)
u21(dout(DX), X, Y) → u22(din(der(Y)), X, Y, DX)
u22(dout(DY), X, Y, DX) → dout(plus(DX, DY))
din(der(times(X, Y))) → u31(din(der(X)), X, Y)
u31(dout(DX), X, Y) → u32(din(der(Y)), X, Y, DX)
u32(dout(DY), X, Y, DX) → dout(plus(times(X, DY), times(Y, DX)))
din(der(der(X))) → u41(din(der(X)), X)
u41(dout(DX), X) → u42(din(der(DX)), X, DX)
u42(dout(DDX), X, DX) → dout(DDX)
din(der(plus(x0, x1)))
u21(dout(x0), x1, x2)
u22(dout(x0), x1, x2, x3)
din(der(times(x0, x1)))
u31(dout(x0), x1, x2)
u32(dout(x0), x1, x2, x3)
din(der(der(x0)))
u41(dout(x0), x1)
u42(dout(x0), x1, x2)
DIN(der(times(X, Y))) → DIN(der(X))
DIN(der(plus(X, Y))) → DIN(der(X))
DIN(der(der(X))) → DIN(der(X))
din(der(plus(X, Y))) → u21(din(der(X)), X, Y)
u21(dout(DX), X, Y) → u22(din(der(Y)), X, Y, DX)
u22(dout(DY), X, Y, DX) → dout(plus(DX, DY))
din(der(times(X, Y))) → u31(din(der(X)), X, Y)
u31(dout(DX), X, Y) → u32(din(der(Y)), X, Y, DX)
u32(dout(DY), X, Y, DX) → dout(plus(times(X, DY), times(Y, DX)))
din(der(der(X))) → u41(din(der(X)), X)
u41(dout(DX), X) → u42(din(der(DX)), X, DX)
u42(dout(DDX), X, DX) → dout(DDX)
din(der(plus(x0, x1)))
u21(dout(x0), x1, x2)
u22(dout(x0), x1, x2, x3)
din(der(times(x0, x1)))
u31(dout(x0), x1, x2)
u32(dout(x0), x1, x2, x3)
din(der(der(x0)))
u41(dout(x0), x1)
u42(dout(x0), x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DIN(der(der(X))) → DIN(der(X))
trivial
der1: [1]
DIN(der(times(X, Y))) → DIN(der(X))
DIN(der(plus(X, Y))) → DIN(der(X))
din(der(plus(X, Y))) → u21(din(der(X)), X, Y)
u21(dout(DX), X, Y) → u22(din(der(Y)), X, Y, DX)
u22(dout(DY), X, Y, DX) → dout(plus(DX, DY))
din(der(times(X, Y))) → u31(din(der(X)), X, Y)
u31(dout(DX), X, Y) → u32(din(der(Y)), X, Y, DX)
u32(dout(DY), X, Y, DX) → dout(plus(times(X, DY), times(Y, DX)))
din(der(der(X))) → u41(din(der(X)), X)
u41(dout(DX), X) → u42(din(der(DX)), X, DX)
u42(dout(DDX), X, DX) → dout(DDX)
din(der(plus(x0, x1)))
u21(dout(x0), x1, x2)
u22(dout(x0), x1, x2, x3)
din(der(times(x0, x1)))
u31(dout(x0), x1, x2)
u32(dout(x0), x1, x2, x3)
din(der(der(x0)))
u41(dout(x0), x1)
u42(dout(x0), x1, x2)
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
DIN(der(times(X, Y))) → DIN(der(X))
DIN(der(plus(X, Y))) → DIN(der(X))
[DIN1, der1, times2, plus2]
plus2: [2,1]
times2: [2,1]
DIN1: [1]
der1: [1]
din(der(plus(X, Y))) → u21(din(der(X)), X, Y)
u21(dout(DX), X, Y) → u22(din(der(Y)), X, Y, DX)
u22(dout(DY), X, Y, DX) → dout(plus(DX, DY))
din(der(times(X, Y))) → u31(din(der(X)), X, Y)
u31(dout(DX), X, Y) → u32(din(der(Y)), X, Y, DX)
u32(dout(DY), X, Y, DX) → dout(plus(times(X, DY), times(Y, DX)))
din(der(der(X))) → u41(din(der(X)), X)
u41(dout(DX), X) → u42(din(der(DX)), X, DX)
u42(dout(DDX), X, DX) → dout(DDX)
din(der(plus(x0, x1)))
u21(dout(x0), x1, x2)
u22(dout(x0), x1, x2, x3)
din(der(times(x0, x1)))
u31(dout(x0), x1, x2)
u32(dout(x0), x1, x2, x3)
din(der(der(x0)))
u41(dout(x0), x1)
u42(dout(x0), x1, x2)