(0) Obligation:

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

plus(s(X), plus(Y, Z)) → plus(X, plus(s(s(Y)), Z))
plus(s(X1), plus(X2, plus(X3, X4))) → plus(X1, plus(X3, plus(X2, X4)))

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:

PLUS(s(X), plus(Y, Z)) → PLUS(X, plus(s(s(Y)), Z))
PLUS(s(X), plus(Y, Z)) → PLUS(s(s(Y)), Z)
PLUS(s(X1), plus(X2, plus(X3, X4))) → PLUS(X1, plus(X3, plus(X2, X4)))
PLUS(s(X1), plus(X2, plus(X3, X4))) → PLUS(X3, plus(X2, X4))
PLUS(s(X1), plus(X2, plus(X3, X4))) → PLUS(X2, X4)

The TRS R consists of the following rules:

plus(s(X), plus(Y, Z)) → plus(X, plus(s(s(Y)), Z))
plus(s(X1), plus(X2, plus(X3, X4))) → plus(X1, plus(X3, plus(X2, X4)))

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

(3) QDPSizeChangeProof (EQUIVALENT transformation)

We used the following order and afs together with the size-change analysis [AAECC05] to show that there are no infinite chains for this DP problem.

Order:Combined order from the following AFS and order.
plus(x1, x2)  =  plus(x2)
s(x1)  =  s(x1)

Lexicographic path order with status [LPO].
Quasi-Precedence:

[plus1, s1]

Status:
plus1: [1]
s1: [1]

AFS:
plus(x1, x2)  =  plus(x2)
s(x1)  =  s(x1)

From the DPs we obtained the following set of size-change graphs:

  • PLUS(s(X), plus(Y, Z)) → PLUS(X, plus(s(s(Y)), Z)) (allowed arguments on rhs = {1, 2})
    The graph contains the following edges 1 > 1, 2 >= 2

  • PLUS(s(X), plus(Y, Z)) → PLUS(s(s(Y)), Z) (allowed arguments on rhs = {1, 2})
    The graph contains the following edges 2 > 2

  • PLUS(s(X1), plus(X2, plus(X3, X4))) → PLUS(X1, plus(X3, plus(X2, X4))) (allowed arguments on rhs = {1, 2})
    The graph contains the following edges 1 > 1, 2 >= 2

  • PLUS(s(X1), plus(X2, plus(X3, X4))) → PLUS(X3, plus(X2, X4)) (allowed arguments on rhs = {1, 2})
    The graph contains the following edges 2 > 2

  • PLUS(s(X1), plus(X2, plus(X3, X4))) → PLUS(X2, X4) (allowed arguments on rhs = {1, 2})
    The graph contains the following edges 2 > 2

We oriented the following set of usable rules [AAECC05,FROCOS05].


plus(s(X1), plus(X2, plus(X3, X4))) → plus(X1, plus(X3, plus(X2, X4)))
plus(s(X), plus(Y, Z)) → plus(X, plus(s(s(Y)), Z))

(4) TRUE