Term Rewriting System R:
[x, y, z]
0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))

Termination of R to be shown.



   R
Dependency Pair Analysis



R contains the following Dependency Pairs:

+'(0(x), 0(y)) -> 0'(+(x, y))
+'(0(x), 0(y)) -> +'(x, y)
+'(0(x), 1(y)) -> +'(x, y)
+'(1(x), 0(y)) -> +'(x, y)
+'(1(x), 1(y)) -> 0'(+(+(x, y), 1(#)))
+'(1(x), 1(y)) -> +'(+(x, y), 1(#))
+'(1(x), 1(y)) -> +'(x, y)
+'(x, +(y, z)) -> +'(+(x, y), z)
+'(x, +(y, z)) -> +'(x, y)
-'(0(x), 0(y)) -> 0'(-(x, y))
-'(0(x), 0(y)) -> -'(x, y)
-'(0(x), 1(y)) -> -'(-(x, y), 1(#))
-'(0(x), 1(y)) -> -'(x, y)
-'(1(x), 0(y)) -> -'(x, y)
-'(1(x), 1(y)) -> 0'(-(x, y))
-'(1(x), 1(y)) -> -'(x, y)
GE(0(x), 0(y)) -> GE(x, y)
GE(0(x), 1(y)) -> NOT(ge(y, x))
GE(0(x), 1(y)) -> GE(y, x)
GE(1(x), 0(y)) -> GE(x, y)
GE(1(x), 1(y)) -> GE(x, y)
GE(#, 0(x)) -> GE(#, x)
MIN(n(x, y, z)) -> MIN(y)
MAX(n(x, y, z)) -> MAX(z)
BS(n(x, y, z)) -> AND(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
BS(n(x, y, z)) -> AND(ge(x, max(y)), ge(min(z), x))
BS(n(x, y, z)) -> GE(x, max(y))
BS(n(x, y, z)) -> MAX(y)
BS(n(x, y, z)) -> GE(min(z), x)
BS(n(x, y, z)) -> MIN(z)
BS(n(x, y, z)) -> AND(bs(y), bs(z))
BS(n(x, y, z)) -> BS(y)
BS(n(x, y, z)) -> BS(z)
SIZE(n(x, y, z)) -> +'(+(size(x), size(y)), 1(#))
SIZE(n(x, y, z)) -> +'(size(x), size(y))
SIZE(n(x, y, z)) -> SIZE(x)
SIZE(n(x, y, z)) -> SIZE(y)
WB(n(x, y, z)) -> AND(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))
WB(n(x, y, z)) -> IF(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y))))
WB(n(x, y, z)) -> GE(size(y), size(z))
WB(n(x, y, z)) -> SIZE(y)
WB(n(x, y, z)) -> SIZE(z)
WB(n(x, y, z)) -> GE(1(#), -(size(y), size(z)))
WB(n(x, y, z)) -> -'(size(y), size(z))
WB(n(x, y, z)) -> GE(1(#), -(size(z), size(y)))
WB(n(x, y, z)) -> -'(size(z), size(y))
WB(n(x, y, z)) -> AND(wb(y), wb(z))
WB(n(x, y, z)) -> WB(y)
WB(n(x, y, z)) -> WB(z)

Furthermore, R contains nine SCCs.


   R
DPs
       →DP Problem 1
Polynomial Ordering
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pairs:

+'(x, +(y, z)) -> +'(x, y)
+'(x, +(y, z)) -> +'(+(x, y), z)
+'(1(x), 1(y)) -> +'(x, y)
+'(1(x), 1(y)) -> +'(+(x, y), 1(#))
+'(1(x), 0(y)) -> +'(x, y)
+'(0(x), 1(y)) -> +'(x, y)
+'(0(x), 0(y)) -> +'(x, y)


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





The following dependency pairs can be strictly oriented:

+'(1(x), 1(y)) -> +'(x, y)
+'(0(x), 1(y)) -> +'(x, y)


Additionally, the following usable rules using the Ce-refinement can be oriented:

+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
0(#) -> #


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(#)=  0  
  POL(0(x1))=  x1  
  POL(1(x1))=  1 + x1  
  POL(+(x1, x2))=  x1 + x2  
  POL(+'(x1, x2))=  1 + x2  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
           →DP Problem 10
Dependency Graph
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pairs:

+'(x, +(y, z)) -> +'(x, y)
+'(x, +(y, z)) -> +'(+(x, y), z)
+'(1(x), 1(y)) -> +'(+(x, y), 1(#))
+'(1(x), 0(y)) -> +'(x, y)
+'(0(x), 0(y)) -> +'(x, y)


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





Using the Dependency Graph the DP problem was split into 2 DP problems.


   R
DPs
       →DP Problem 1
Polo
           →DP Problem 10
DGraph
             ...
               →DP Problem 11
Polynomial Ordering
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pair:

+'(1(x), 1(y)) -> +'(+(x, y), 1(#))


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





The following dependency pair can be strictly oriented:

+'(1(x), 1(y)) -> +'(+(x, y), 1(#))


Additionally, the following usable rules using the Ce-refinement can be oriented:

+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
0(#) -> #


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(#)=  0  
  POL(0(x1))=  x1  
  POL(1(x1))=  1 + x1  
  POL(+(x1, x2))=  x1 + x2  
  POL(+'(x1, x2))=  1 + x1 + x2  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
           →DP Problem 10
DGraph
             ...
               →DP Problem 13
Dependency Graph
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pair:


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
Polo
           →DP Problem 10
DGraph
             ...
               →DP Problem 12
Polynomial Ordering
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pairs:

+'(x, +(y, z)) -> +'(+(x, y), z)
+'(1(x), 0(y)) -> +'(x, y)
+'(0(x), 0(y)) -> +'(x, y)
+'(x, +(y, z)) -> +'(x, y)


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





The following dependency pairs can be strictly oriented:

+'(1(x), 0(y)) -> +'(x, y)
+'(0(x), 0(y)) -> +'(x, y)


Additionally, the following usable rules using the Ce-refinement can be oriented:

+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
0(#) -> #


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(#)=  0  
  POL(0(x1))=  1 + x1  
  POL(1(x1))=  1 + x1  
  POL(+(x1, x2))=  x1 + x2  
  POL(+'(x1, x2))=  1 + x2  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
           →DP Problem 10
DGraph
             ...
               →DP Problem 14
Polynomial Ordering
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pairs:

+'(x, +(y, z)) -> +'(+(x, y), z)
+'(x, +(y, z)) -> +'(x, y)


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





The following dependency pairs can be strictly oriented:

+'(x, +(y, z)) -> +'(+(x, y), z)
+'(x, +(y, z)) -> +'(x, y)


Additionally, the following usable rules using the Ce-refinement can be oriented:

+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
0(#) -> #


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(#)=  0  
  POL(0(x1))=  0  
  POL(1(x1))=  0  
  POL(+(x1, x2))=  1 + x1 + x2  
  POL(+'(x1, x2))=  x2  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
           →DP Problem 10
DGraph
             ...
               →DP Problem 15
Dependency Graph
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pair:


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polynomial Ordering
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pairs:

-'(1(x), 1(y)) -> -'(x, y)
-'(1(x), 0(y)) -> -'(x, y)
-'(0(x), 1(y)) -> -'(x, y)
-'(0(x), 1(y)) -> -'(-(x, y), 1(#))
-'(0(x), 0(y)) -> -'(x, y)


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





The following dependency pairs can be strictly oriented:

-'(1(x), 1(y)) -> -'(x, y)
-'(1(x), 0(y)) -> -'(x, y)
-'(0(x), 1(y)) -> -'(x, y)
-'(0(x), 0(y)) -> -'(x, y)


Additionally, the following usable rules using the Ce-refinement can be oriented:

-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
0(#) -> #


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(#)=  0  
  POL(0(x1))=  1 + x1  
  POL(-'(x1, x2))=  x2  
  POL(1(x1))=  1 + x1  
  POL(-(x1, x2))=  x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
           →DP Problem 16
Polynomial Ordering
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pair:

-'(0(x), 1(y)) -> -'(-(x, y), 1(#))


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





The following dependency pair can be strictly oriented:

-'(0(x), 1(y)) -> -'(-(x, y), 1(#))


Additionally, the following usable rules using the Ce-refinement can be oriented:

-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
0(#) -> #


Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(#)=  0  
  POL(0(x1))=  1 + x1  
  POL(-'(x1, x2))=  x1  
  POL(1(x1))=  1 + x1  
  POL(-(x1, x2))=  x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
           →DP Problem 16
Polo
             ...
               →DP Problem 17
Dependency Graph
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pair:


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polynomial Ordering
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pair:

GE(#, 0(x)) -> GE(#, x)


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





The following dependency pair can be strictly oriented:

GE(#, 0(x)) -> GE(#, x)


There are no usable rules using the Ce-refinement that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(#)=  0  
  POL(0(x1))=  1 + x1  
  POL(GE(x1, x2))=  x2  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
           →DP Problem 18
Dependency Graph
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pair:


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polynomial Ordering
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pair:

MIN(n(x, y, z)) -> MIN(y)


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





The following dependency pair can be strictly oriented:

MIN(n(x, y, z)) -> MIN(y)


There are no usable rules using the Ce-refinement that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(MIN(x1))=  x1  
  POL(n(x1, x2, x3))=  1 + x2  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
           →DP Problem 19
Dependency Graph
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pair:


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polynomial Ordering
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pair:

MAX(n(x, y, z)) -> MAX(z)


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





The following dependency pair can be strictly oriented:

MAX(n(x, y, z)) -> MAX(z)


There are no usable rules using the Ce-refinement that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(MAX(x1))=  x1  
  POL(n(x1, x2, x3))=  1 + x3  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
           →DP Problem 20
Dependency Graph
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pair:


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polynomial Ordering
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pairs:

SIZE(n(x, y, z)) -> SIZE(y)
SIZE(n(x, y, z)) -> SIZE(x)


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





The following dependency pairs can be strictly oriented:

SIZE(n(x, y, z)) -> SIZE(y)
SIZE(n(x, y, z)) -> SIZE(x)


There are no usable rules using the Ce-refinement that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(n(x1, x2, x3))=  1 + x1 + x2  
  POL(SIZE(x1))=  x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
           →DP Problem 21
Dependency Graph
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pair:


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polynomial Ordering
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pairs:

GE(1(x), 1(y)) -> GE(x, y)
GE(1(x), 0(y)) -> GE(x, y)
GE(0(x), 1(y)) -> GE(y, x)
GE(0(x), 0(y)) -> GE(x, y)


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





The following dependency pairs can be strictly oriented:

GE(1(x), 1(y)) -> GE(x, y)
GE(1(x), 0(y)) -> GE(x, y)
GE(0(x), 1(y)) -> GE(y, x)


There are no usable rules using the Ce-refinement that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(0(x1))=  x1  
  POL(GE(x1, x2))=  1 + x1 + x2  
  POL(1(x1))=  1 + x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
           →DP Problem 22
Polynomial Ordering
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pair:

GE(0(x), 0(y)) -> GE(x, y)


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





The following dependency pair can be strictly oriented:

GE(0(x), 0(y)) -> GE(x, y)


There are no usable rules using the Ce-refinement that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(0(x1))=  1 + x1  
  POL(GE(x1, x2))=  x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
           →DP Problem 22
Polo
             ...
               →DP Problem 23
Dependency Graph
       →DP Problem 8
Polo
       →DP Problem 9
Polo


Dependency Pair:


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polynomial Ordering
       →DP Problem 9
Polo


Dependency Pairs:

WB(n(x, y, z)) -> WB(z)
WB(n(x, y, z)) -> WB(y)


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





The following dependency pairs can be strictly oriented:

WB(n(x, y, z)) -> WB(z)
WB(n(x, y, z)) -> WB(y)


There are no usable rules using the Ce-refinement that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(n(x1, x2, x3))=  1 + x2 + x3  
  POL(WB(x1))=  x1  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
           →DP Problem 24
Dependency Graph
       →DP Problem 9
Polo


Dependency Pair:


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





Using the Dependency Graph resulted in no new DP problems.


   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polynomial Ordering


Dependency Pairs:

BS(n(x, y, z)) -> BS(z)
BS(n(x, y, z)) -> BS(y)


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





The following dependency pairs can be strictly oriented:

BS(n(x, y, z)) -> BS(z)
BS(n(x, y, z)) -> BS(y)


There are no usable rules using the Ce-refinement that need to be oriented.

Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(BS(x1))=  x1  
  POL(n(x1, x2, x3))=  1 + x2 + x3  

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Polo
       →DP Problem 2
Polo
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
       →DP Problem 8
Polo
       →DP Problem 9
Polo
           →DP Problem 25
Dependency Graph


Dependency Pair:


Rules:


0(#) -> #
+(x, #) -> x
+(#, x) -> x
+(0(x), 0(y)) -> 0(+(x, y))
+(0(x), 1(y)) -> 1(+(x, y))
+(1(x), 0(y)) -> 1(+(x, y))
+(1(x), 1(y)) -> 0(+(+(x, y), 1(#)))
+(x, +(y, z)) -> +(+(x, y), z)
-(x, #) -> x
-(#, x) -> #
-(0(x), 0(y)) -> 0(-(x, y))
-(0(x), 1(y)) -> 1(-(-(x, y), 1(#)))
-(1(x), 0(y)) -> 1(-(x, y))
-(1(x), 1(y)) -> 0(-(x, y))
not(false) -> true
not(true) -> false
and(x, true) -> x
and(x, false) -> false
if(true, x, y) -> x
if(false, x, y) -> y
ge(0(x), 0(y)) -> ge(x, y)
ge(0(x), 1(y)) -> not(ge(y, x))
ge(1(x), 0(y)) -> ge(x, y)
ge(1(x), 1(y)) -> ge(x, y)
ge(x, #) -> true
ge(#, 1(x)) -> false
ge(#, 0(x)) -> ge(#, x)
val(l(x)) -> x
val(n(x, y, z)) -> x
min(l(x)) -> x
min(n(x, y, z)) -> min(y)
max(l(x)) -> x
max(n(x, y, z)) -> max(z)
bs(l(x)) -> true
bs(n(x, y, z)) -> and(and(ge(x, max(y)), ge(min(z), x)), and(bs(y), bs(z)))
size(l(x)) -> 1(#)
size(n(x, y, z)) -> +(+(size(x), size(y)), 1(#))
wb(l(x)) -> true
wb(n(x, y, z)) -> and(if(ge(size(y), size(z)), ge(1(#), -(size(y), size(z))), ge(1(#), -(size(z), size(y)))), and(wb(y), wb(z)))





Using the Dependency Graph resulted in no new DP problems.

Termination of R successfully shown.
Duration:
0:00 minutes