0 QTRS
↳1 Overlay + Local Confluence (⇔)
↳2 QTRS
↳3 DependencyPairsProof (⇔)
↳4 QDP
↳5 DependencyGraphProof (⇔)
↳6 QDP
↳7 QDPOrderProof (⇔)
↳8 QDP
↳9 DependencyGraphProof (⇔)
↳10 QDP
↳11 QDPOrderProof (⇔)
↳12 QDP
↳13 QDPOrderProof (⇔)
↳14 QDP
↳15 DependencyGraphProof (⇔)
↳16 QDP
↳17 QDPOrderProof (⇔)
↳18 QDP
↳19 QDPOrderProof (⇔)
↳20 QDP
↳21 PisEmptyProof (⇔)
↳22 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.
DIN(der(plus(X, Y))) → U21(din(der(X)), X, Y)
plus > [dout, der, U31, U41] > din
plus > [dout, der, U31, U41] > u421
plus > [dout, der, U31, U41] > u221
plus > [dout, der, U31, U41] > u321
times > [dout, der, U31, U41] > din
times > [dout, der, U31, U41] > u421
times > [dout, der, U31, U41] > u221
times > [dout, der, U31, U41] > u321
din: []
u321: [1]
u221: [1]
u421: [1]
U31: []
plus: []
U41: []
times: []
dout: []
der: []
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)
U21(dout(DX), X, Y) → DIN(der(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)
DIN(der(times(X, Y))) → U31(din(der(X)), X, Y)
U31(dout(DX), X, Y) → DIN(der(Y))
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(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))
[DIN1, times2, U313, U411, u312, u322]
U313: [3,2,1]
u312: [2,1]
u322: [1,2]
U411: [1]
times2: [2,1]
DIN1: [1]
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)
DIN(der(plus(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.
U41(dout(DX), X) → DIN(der(DX))
[times2, u312, u322] > [dout1, u421, u221]
u312: [2,1]
u221: [1]
u322: [1,2]
u421: [1]
times2: [2,1]
dout1: [1]
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)
DIN(der(plus(X, Y))) → DIN(der(X))
DIN(der(der(X))) → U41(din(der(X)), 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)
DIN(der(der(X))) → 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(plus(X, Y))) → DIN(der(X))
[DIN1, plus2]
plus2: [2,1]
DIN1: [1]
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))
DIN1 > der1
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)