(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.


U21(dout(DX), X, Y) → DIN(der(Y))
DIN(der(plus(X, Y))) → U21(din(der(X)), X, Y)
DIN(der(der(X))) → U41(din(der(X)), X)
U41(dout(DX), X) → DIN(der(DX))
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)
DIN(x0, x1)  =  DIN(x1)
U31(x0, x1, x2, x3)  =  U31(x0)
U41(x0, x1, x2)  =  U41(x0, x1)

Tags:
U21 has argument tags [5,0,10,0] and root tag 3
DIN has argument tags [0,10] and root tag 2
U31 has argument tags [10,0,0,2] and root tag 2
U41 has argument tags [10,10,12] and root tag 1

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
dout(x1)  =  dout(x1)
DIN(x1)  =  x1
der(x1)  =  der
plus(x1, x2)  =  plus
din(x1)  =  x1
times(x1, x2)  =  x1
U31(x1, x2, x3)  =  U31
U41(x1, x2)  =  x1
u21(x1, x2, x3)  =  x1
u31(x1, x2, x3)  =  x1
u41(x1, x2)  =  u41
u32(x1, x2, x3, x4)  =  u32(x4)
u22(x1, x2, x3, x4)  =  u22(x4)
u42(x1, x2, x3)  =  x1

Recursive path order with status [RPO].
Quasi-Precedence:
[U21, dout1, der, U31, u41, u321, u221] > plus

Status:
U21: multiset
dout1: multiset
der: multiset
plus: []
U31: multiset
u41: multiset
u321: multiset
u221: multiset


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:

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 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) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


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

Tags:
DIN has argument tags [2,6] and root tag 0
U31 has argument tags [1,0,1,0] and root tag 1

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

Recursive path order with status [RPO].
Quasi-Precedence:
[der, dout1, u21, u31] > [DIN, U313] > plus
[der, dout1, u21, u31] > u422 > plus

Status:
DIN: []
der: multiset
plus: multiset
U313: multiset
dout1: multiset
u21: multiset
u31: multiset
u422: multiset


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

(8) Obligation:

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

DIN(der(plus(X, Y))) → DIN(der(X))
DIN(der(times(X, Y))) → DIN(der(X))
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.

(9) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


DIN(der(times(X, Y))) → 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:
DIN(x0, x1)  =  DIN(x1)

Tags:
DIN has argument tags [1,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.
DIN(x1)  =  DIN
der(x1)  =  x1
plus(x1, x2)  =  x1
times(x1, x2)  =  times(x1)

Recursive path order with status [RPO].
Quasi-Precedence:
[DIN, times1]

Status:
DIN: multiset
times1: multiset


The following usable rules [FROCOS05] were oriented: none

(10) Obligation:

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

DIN(der(plus(X, Y))) → DIN(der(X))
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.

(11) 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))) → 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:
DIN(x0, x1)  =  DIN(x1)

Tags:
DIN has argument tags [1,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.
DIN(x1)  =  DIN
der(x1)  =  x1
plus(x1, x2)  =  plus(x1)

Recursive path order with status [RPO].
Quasi-Precedence:
[DIN, plus1]

Status:
DIN: multiset
plus1: multiset


The following usable rules [FROCOS05] were oriented: none

(12) Obligation:

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

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.

(13) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


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:
DIN(x0, x1)  =  DIN(x1)

Tags:
DIN has argument tags [0,0] and root tag 0

Comparison: MAX
Underlying order for the size change arcs and the rules of R:
Recursive path order with status [RPO].
Quasi-Precedence:
[DIN1, der1]

Status:
DIN1: multiset
der1: multiset


The following usable rules [FROCOS05] were oriented: none

(14) 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.

(15) PisEmptyProof (EQUIVALENT transformation)

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

(16) TRUE