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:

+'(x, +(y, z)) -> +'(x, y)
+'(x, +(y, z)) -> +'(+(x, y), z)
+'(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)) =  1 + 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:

+'(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:

+'(0(x), 0(y)) -> +'(x, y)
+'(1(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:

+'(0(x), 0(y)) -> +'(x, y)
+'(1(x), 0(y)) -> +'(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(1(x1)) =  0 POL(+'(x1, x2)) =  x2

resulting in one new DP problem.

`   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 15`
`             ↳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 15`
`             ↳Polo`
`             ...`
`               →DP Problem 16`
`                 ↳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 17`
`             ↳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 18`
`             ↳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 19`
`             ↳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 20`
`             ↳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)
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)) =  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 21`
`             ↳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 22`
`             ↳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 23`
`             ↳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