(0) Obligation:

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

-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))

Q is empty.

(1) Overlay + Local Confluence (EQUIVALENT transformation)

The TRS is overlay and locally confluent. By [NOC] we can switch to innermost.

(2) Obligation:

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

-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))

The set Q consists of the following terms:

-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)

(3) DependencyPairsProof (EQUIVALENT transformation)

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

(4) Obligation:

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

-1(s(x), s(y)) → -1(x, y)
<=1(s(x), s(y)) → <=1(x, y)
PERFECTP(s(x)) → F(x, s(0), s(x), s(x))
F(s(x), 0, z, u) → F(x, u, -(z, s(x)), u)
F(s(x), 0, z, u) → -1(z, s(x))
F(s(x), s(y), z, u) → IF(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))
F(s(x), s(y), z, u) → <=1(x, y)
F(s(x), s(y), z, u) → F(s(x), -(y, x), z, u)
F(s(x), s(y), z, u) → -1(y, x)
F(s(x), s(y), z, u) → F(x, u, z, u)

The TRS R consists of the following rules:

-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))

The set Q consists of the following terms:

-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)

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

(5) DependencyGraphProof (EQUIVALENT transformation)

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

(6) Complex Obligation (AND)

(7) Obligation:

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

<=1(s(x), s(y)) → <=1(x, y)

The TRS R consists of the following rules:

-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))

The set Q consists of the following terms:

-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)

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

(8) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


<=1(s(x), s(y)) → <=1(x, y)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
<=1(x1, x2)  =  <=1(x2)
s(x1)  =  s(x1)
-(x1, x2)  =  x1
0  =  0
<=(x1, x2)  =  <=(x1, x2)
true  =  true
false  =  false
if(x1, x2, x3)  =  if(x2, x3)
perfectp(x1)  =  perfectp(x1)
f(x1, x2, x3, x4)  =  f(x1, x2, x3, x4)

Recursive path order with status [RPO].
Precedence:
<=2 > true
<=2 > false
perfectp1 > 0
perfectp1 > f4 > s1
perfectp1 > f4 > true
perfectp1 > f4 > false
perfectp1 > f4 > if2

Status:
<=^11: [1]
s1: multiset
0: multiset
<=2: [1,2]
true: multiset
false: multiset
if2: multiset
perfectp1: multiset
f4: [3,1,4,2]

The following usable rules [FROCOS05] were oriented:

-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))

(9) Obligation:

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

-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))

The set Q consists of the following terms:

-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)

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

(10) PisEmptyProof (EQUIVALENT transformation)

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

(11) TRUE

(12) Obligation:

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

-1(s(x), s(y)) → -1(x, y)

The TRS R consists of the following rules:

-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))

The set Q consists of the following terms:

-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)

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.


-1(s(x), s(y)) → -1(x, y)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
-1(x1, x2)  =  -1(x1)
s(x1)  =  s(x1)
-(x1, x2)  =  x1
0  =  0
<=(x1, x2)  =  <=
true  =  true
false  =  false
if(x1, x2, x3)  =  if(x2, x3)
perfectp(x1)  =  perfectp(x1)
f(x1, x2, x3, x4)  =  f(x1, x2, x3, x4)

Recursive path order with status [RPO].
Precedence:
-^11 > if2
<= > true > if2
<= > false > if2
perfectp1 > 0 > if2
perfectp1 > f4 > s1 > if2
perfectp1 > f4 > true > if2
perfectp1 > f4 > false > if2

Status:
-^11: multiset
s1: multiset
0: multiset
<=: []
true: multiset
false: multiset
if2: multiset
perfectp1: multiset
f4: [1,4,3,2]

The following usable rules [FROCOS05] were oriented:

-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))

(14) Obligation:

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

-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))

The set Q consists of the following terms:

-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)

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

(17) Obligation:

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

F(s(x), s(y), z, u) → F(s(x), -(y, x), z, u)
F(s(x), 0, z, u) → F(x, u, -(z, s(x)), u)
F(s(x), s(y), z, u) → F(x, u, z, u)

The TRS R consists of the following rules:

-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))

The set Q consists of the following terms:

-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)

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

(18) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


F(s(x), 0, z, u) → F(x, u, -(z, s(x)), u)
F(s(x), s(y), z, u) → F(x, u, z, u)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
F(x1, x2, x3, x4)  =  F(x1, x3, x4)
s(x1)  =  s(x1)
-(x1, x2)  =  x1
0  =  0
<=(x1, x2)  =  <=(x1, x2)
true  =  true
false  =  false
if(x1, x2, x3)  =  if(x2, x3)
perfectp(x1)  =  perfectp(x1)
f(x1, x2, x3, x4)  =  f(x1, x2, x3, x4)

Recursive path order with status [RPO].
Precedence:
F3 > s1 > <=2 > true
F3 > s1 > false
F3 > s1 > f4 > true
F3 > s1 > f4 > if2
perfectp1 > 0 > s1 > <=2 > true
perfectp1 > 0 > s1 > false
perfectp1 > 0 > s1 > f4 > true
perfectp1 > 0 > s1 > f4 > if2

Status:
F3: multiset
s1: multiset
0: multiset
<=2: multiset
true: multiset
false: multiset
if2: multiset
perfectp1: multiset
f4: [4,1,2,3]

The following usable rules [FROCOS05] were oriented:

-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))

(19) Obligation:

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

F(s(x), s(y), z, u) → F(s(x), -(y, x), z, u)

The TRS R consists of the following rules:

-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))

The set Q consists of the following terms:

-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)

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

(20) QDPOrderProof (EQUIVALENT transformation)

We use the reduction pair processor [LPAR04].


The following pairs can be oriented strictly and are deleted.


F(s(x), s(y), z, u) → F(s(x), -(y, x), z, u)
The remaining pairs can at least be oriented weakly.
Used ordering: Combined order from the following AFS and order.
F(x1, x2, x3, x4)  =  F(x2)
s(x1)  =  s(x1)
-(x1, x2)  =  x1
0  =  0
<=(x1, x2)  =  <=(x1)
true  =  true
false  =  false
if(x1, x2, x3)  =  if(x1, x2, x3)
perfectp(x1)  =  perfectp(x1)
f(x1, x2, x3, x4)  =  f(x1, x2, x3, x4)

Recursive path order with status [RPO].
Precedence:
s1 > F1 > 0
s1 > f4 > <=1 > true > 0
s1 > f4 > <=1 > false > 0
s1 > f4 > if3 > 0
perfectp1 > f4 > <=1 > true > 0
perfectp1 > f4 > <=1 > false > 0
perfectp1 > f4 > if3 > 0

Status:
F1: multiset
s1: [1]
0: multiset
<=1: multiset
true: multiset
false: multiset
if3: multiset
perfectp1: multiset
f4: [1,2,3,4]

The following usable rules [FROCOS05] were oriented:

-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))

(21) Obligation:

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

-(x, 0) → x
-(s(x), s(y)) → -(x, y)
<=(0, y) → true
<=(s(x), 0) → false
<=(s(x), s(y)) → <=(x, y)
if(true, x, y) → x
if(false, x, y) → y
perfectp(0) → false
perfectp(s(x)) → f(x, s(0), s(x), s(x))
f(0, y, 0, u) → true
f(0, y, s(z), u) → false
f(s(x), 0, z, u) → f(x, u, -(z, s(x)), u)
f(s(x), s(y), z, u) → if(<=(x, y), f(s(x), -(y, x), z, u), f(x, u, z, u))

The set Q consists of the following terms:

-(x0, 0)
-(s(x0), s(x1))
<=(0, x0)
<=(s(x0), 0)
<=(s(x0), s(x1))
if(true, x0, x1)
if(false, x0, x1)
perfectp(0)
perfectp(s(x0))
f(0, x0, 0, x1)
f(0, x0, s(x1), x2)
f(s(x0), 0, x1, x2)
f(s(x0), s(x1), x2, x3)

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

(22) PisEmptyProof (EQUIVALENT transformation)

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

(23) TRUE