(0) Obligation:

Q restricted rewrite system:
The TRS R consists of the following rules:

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)

Q is empty.

(1) DependencyPairsProof (EQUIVALENT transformation)

Using Dependency Pairs [AG00,LPAR04] we result in the following initial DP problem.

(2) Obligation:

Q DP problem:
The TRS P consists of the following rules:

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))

The TRS R consists of the following rules:

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)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(3) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes.

(4) Obligation:

Q DP problem:
The TRS P consists of the following rules:

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))

The TRS R consists of the following rules:

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)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(5) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


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))) → DIN(der(X))
The remaining pairs can at least be oriented weakly.
Used ordering: SCNP Order with the following components:
Level mapping:
Top level AFS:
U21(x0, x1, x2, x3)  =  U21(x0, x1, x2, x3)
DIN(x0, x1)  =  DIN(x0, x1)
U31(x0, x1, x2, x3)  =  U31(x0, x1, x2)
U41(x0, x1, x2)  =  U41(x0, x2)

Tags:
U21 has argument tags [8,15,0,4] and root tag 3
DIN has argument tags [3,8] and root tag 3
U31 has argument tags [2,15,0,0] and root tag 0
U41 has argument tags [8,15,12] and root tag 3

Comparison: MAX
Underlying order for the size change arcs and the rules of R:
Combined order from the following AFS and order.
U21(x1, x2, x3)  =  U21(x3)
dout(x1)  =  x1
DIN(x1)  =  DIN
der(x1)  =  der(x1)
plus(x1, x2)  =  plus(x1, x2)
din(x1)  =  x1
times(x1, x2)  =  times(x1, x2)
U31(x1, x2, x3)  =  U31(x1, x2, x3)
U41(x1, x2)  =  U41(x1)
u21(x1, x2, x3)  =  u21(x1, x2, x3)
u31(x1, x2, x3)  =  u31(x1, x2, x3)
u41(x1, x2)  =  u41(x1)
u32(x1, x2, x3, x4)  =  u32(x1, x2, x3, x4)
u22(x1, x2, x3, x4)  =  u22(x1, x3, x4)
u42(x1, x2, x3)  =  x1

Lexicographic path order with status [LPO].
Quasi-Precedence:
[U211, DIN, der1, U313, U411, u213, u313, u411] > u324 > [plus2, u223] > times2

Status:
U211: [1]
DIN: []
der1: [1]
plus2: [2,1]
times2: [1,2]
U313: [3,1,2]
U411: [1]
u213: [3,2,1]
u313: [3,1,2]
u411: [1]
u324: [3,4,2,1]
u223: [1,3,2]


The following usable rules [FROCOS05] were oriented:

din(der(plus(X, Y))) → u21(din(der(X)), X, Y)
din(der(times(X, Y))) → u31(din(der(X)), X, Y)
din(der(der(X))) → u41(din(der(X)), X)
u31(dout(DX), X, Y) → u32(din(der(Y)), X, Y, DX)
u21(dout(DX), X, Y) → u22(din(der(Y)), X, Y, DX)
u41(dout(DX), X) → u42(din(der(DX)), X, DX)
u42(dout(DDX), X, DX) → dout(DDX)
u22(dout(DY), X, Y, DX) → dout(plus(DX, DY))
u32(dout(DY), X, Y, DX) → dout(plus(times(X, DY), times(Y, DX)))

(6) Obligation:

Q DP problem:
The TRS P consists of the following rules:

U21(dout(DX), X, Y) → DIN(der(Y))
DIN(der(der(X))) → U41(din(der(X)), X)
U41(dout(DX), X) → DIN(der(DX))

The TRS R consists of the following rules:

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)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(7) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(8) Obligation:

Q DP problem:
The TRS P consists of the following rules:

U41(dout(DX), X) → DIN(der(DX))
DIN(der(der(X))) → U41(din(der(X)), X)

The TRS R consists of the following rules:

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)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(9) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


U41(dout(DX), X) → DIN(der(DX))
DIN(der(der(X))) → U41(din(der(X)), X)
The remaining pairs can at least be oriented weakly.
Used ordering: SCNP Order with the following components:
Level mapping:
Top level AFS:
U41(x0, x1, x2)  =  U41(x1)
DIN(x0, x1)  =  DIN(x1)

Tags:
U41 has argument tags [0,0,3] and root tag 1
DIN has argument tags [4,0] and root tag 0

Comparison: MAX
Underlying order for the size change arcs and the rules of R:
Combined order from the following AFS and order.
U41(x1, x2)  =  x2
dout(x1)  =  dout
DIN(x1)  =  x1
der(x1)  =  der
din(x1)  =  din
plus(x1, x2)  =  plus(x1, x2)
u21(x1, x2, x3)  =  x1
times(x1, x2)  =  times(x1, x2)
u31(x1, x2, x3)  =  u31
u41(x1, x2)  =  x1
u32(x1, x2, x3, x4)  =  x1
u22(x1, x2, x3, x4)  =  u22(x1)
u42(x1, x2, x3)  =  u42

Lexicographic path order with status [LPO].
Quasi-Precedence:
[dout, der, u42] > times2
[dout, der, u42] > u221 > plus2 > [din, u31]

Status:
dout: []
der: []
din: []
plus2: [1,2]
times2: [2,1]
u31: []
u221: [1]
u42: []


The following usable rules [FROCOS05] were oriented: none

(10) Obligation:

Q DP problem:
P is empty.
The TRS R consists of the following rules:

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)

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(11) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(12) TRUE