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
Narrowing Transformation
       →DP Problem 2
Nar
       →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)))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

+'(1(x), 1(y)) -> +'(+(x, y), 1(#))
seven new Dependency Pairs are created:

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

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 10
Narrowing Transformation
       →DP Problem 2
Nar
       →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'', z'))) -> +'(+(+(x'', y''), z'), 1(#))
+'(1(1(x'')), 1(1(y''))) -> +'(0(+(+(x'', y''), 1(#))), 1(#))
+'(1(1(x'')), 1(0(y''))) -> +'(1(+(x'', y'')), 1(#))
+'(1(0(x'')), 1(1(y''))) -> +'(1(+(x'', y'')), 1(#))
+'(1(0(x'')), 1(0(y''))) -> +'(0(+(x'', y'')), 1(#))
+'(1(#), 1(y')) -> +'(y', 1(#))
+'(1(x''), 1(#)) -> +'(x'', 1(#))
+'(x, +(y, z)) -> +'(+(x, y), z)
+'(1(x), 1(y)) -> +'(x, y)
+'(1(x), 0(y)) -> +'(x, y)
+'(0(x), 1(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)))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

+'(1(x''), 1(+(y'', z'))) -> +'(+(+(x'', y''), z'), 1(#))
nine new Dependency Pairs are created:

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

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 10
Nar
             ...
               →DP Problem 11
Polynomial Ordering
       →DP Problem 2
Nar
       →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', z''), z'))) -> +'(+(+(+(x''', y'), z''), z'), 1(#))
+'(1(1(x')), 1(+(1(y'), z'))) -> +'(+(0(+(+(x', y'), 1(#))), z'), 1(#))
+'(1(1(x')), 1(+(0(y'), z'))) -> +'(+(1(+(x', y')), z'), 1(#))
+'(1(0(x')), 1(+(1(y'), z'))) -> +'(+(1(+(x', y')), z'), 1(#))
+'(1(0(x')), 1(+(0(y'), z'))) -> +'(+(0(+(x', y')), z'), 1(#))
+'(1(#), 1(+(y''', z'))) -> +'(+(y''', z'), 1(#))
+'(1(x'''), 1(+(#, z'))) -> +'(+(x''', z'), 1(#))
+'(1(x'''), 1(+(y''', +(y', z'')))) -> +'(+(+(+(x''', y'''), y'), z''), 1(#))
+'(1(x'''), 1(+(y''', #))) -> +'(+(x''', y'''), 1(#))
+'(1(1(x'')), 1(0(y''))) -> +'(1(+(x'', y'')), 1(#))
+'(1(0(x'')), 1(1(y''))) -> +'(1(+(x'', y'')), 1(#))
+'(1(0(x'')), 1(0(y''))) -> +'(0(+(x'', y'')), 1(#))
+'(1(#), 1(y')) -> +'(y', 1(#))
+'(1(x''), 1(#)) -> +'(x'', 1(#))
+'(x, +(y, z)) -> +'(x, y)
+'(x, +(y, z)) -> +'(+(x, y), z)
+'(1(x), 1(y)) -> +'(x, y)
+'(1(x), 0(y)) -> +'(x, y)
+'(0(x), 0(y)) -> +'(x, y)
+'(0(x), 1(y)) -> +'(x, y)
+'(1(1(x'')), 1(1(y''))) -> +'(0(+(+(x'', y''), 1(#))), 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 pairs can be strictly oriented:

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


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

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

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 10
Nar
             ...
               →DP Problem 12
Polynomial Ordering
       →DP Problem 2
Nar
       →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', z''), z'))) -> +'(+(+(+(x''', y'), z''), z'), 1(#))
+'(1(1(x')), 1(+(1(y'), z'))) -> +'(+(0(+(+(x', y'), 1(#))), z'), 1(#))
+'(1(0(x')), 1(+(1(y'), z'))) -> +'(+(1(+(x', y')), z'), 1(#))
+'(1(#), 1(+(y''', z'))) -> +'(+(y''', z'), 1(#))
+'(1(x'''), 1(+(#, z'))) -> +'(+(x''', z'), 1(#))
+'(1(x'''), 1(+(y''', +(y', z'')))) -> +'(+(+(+(x''', y'''), y'), z''), 1(#))
+'(1(x'''), 1(+(y''', #))) -> +'(+(x''', y'''), 1(#))
+'(1(0(x'')), 1(1(y''))) -> +'(1(+(x'', y'')), 1(#))
+'(1(#), 1(y')) -> +'(y', 1(#))
+'(1(x''), 1(#)) -> +'(x'', 1(#))
+'(x, +(y, z)) -> +'(x, y)
+'(x, +(y, z)) -> +'(+(x, y), z)
+'(1(x), 1(y)) -> +'(x, y)
+'(0(x), 1(y)) -> +'(x, y)
+'(1(1(x'')), 1(1(y''))) -> +'(0(+(+(x'', y''), 1(#))), 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 pairs can be strictly oriented:

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


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

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

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 10
Nar
             ...
               →DP Problem 13
Dependency Graph
       →DP Problem 2
Nar
       →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', z''), z'))) -> +'(+(+(+(x''', y'), z''), z'), 1(#))
+'(1(#), 1(+(y''', z'))) -> +'(+(y''', z'), 1(#))
+'(1(x'''), 1(+(#, z'))) -> +'(+(x''', z'), 1(#))
+'(1(x'''), 1(+(y''', +(y', z'')))) -> +'(+(+(+(x''', y'''), y'), z''), 1(#))
+'(1(x'''), 1(+(y''', #))) -> +'(+(x''', y'''), 1(#))
+'(1(#), 1(y')) -> +'(y', 1(#))
+'(1(x''), 1(#)) -> +'(x'', 1(#))
+'(x, +(y, z)) -> +'(x, y)
+'(x, +(y, z)) -> +'(+(x, y), 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)))





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


   R
DPs
       →DP Problem 1
Nar
           →DP Problem 10
Nar
             ...
               →DP Problem 14
Instantiation Transformation
       →DP Problem 2
Nar
       →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(#), 1(y')) -> +'(y', 1(#))
+'(1(x''), 1(#)) -> +'(x'', 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)))





On this DP problem, an Instantiation SCC transformation can be performed.
As a result of transforming the rule

+'(1(#), 1(y')) -> +'(y', 1(#))
one new Dependency Pair is created:

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

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 10
Nar
             ...
               →DP Problem 16
Polynomial Ordering
       →DP Problem 2
Nar
       →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(#)) -> +'(x'', 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(#)) -> +'(x'', 1(#))


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

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

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Nar
           →DP Problem 10
Nar
             ...
               →DP Problem 15
Polynomial Ordering
       →DP Problem 2
Nar
       →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)


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

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
Nar
           →DP Problem 10
Nar
             ...
               →DP Problem 17
Dependency Graph
       →DP Problem 2
Nar
       →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
Nar
       →DP Problem 2
Narrowing Transformation
       →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)))





On this DP problem, a Narrowing SCC transformation can be performed.
As a result of transforming the rule

-'(0(x), 1(y)) -> -'(-(x, y), 1(#))
six new Dependency Pairs are created:

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

The transformation is resulting in one new DP problem:



   R
DPs
       →DP Problem 1
Nar
       →DP Problem 2
Nar
           →DP Problem 19
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:

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


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

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

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Nar
       →DP Problem 2
Nar
           →DP Problem 19
Polo
             ...
               →DP Problem 20
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:

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


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

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

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Nar
       →DP Problem 2
Nar
           →DP Problem 19
Polo
             ...
               →DP Problem 21
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(#)) -> -'(x'', 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(#)) -> -'(x'', 1(#))


There are no usable rules w.r.t. to the implicit AFS that need to be oriented.

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

resulting in one new DP problem.



   R
DPs
       →DP Problem 1
Nar
       →DP Problem 2
Nar
           →DP Problem 19
Polo
             ...
               →DP Problem 22
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
Nar
       →DP Problem 2
Nar
       →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 w.r.t. to the implicit AFS 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
Nar
       →DP Problem 2
Nar
       →DP Problem 3
Polo
           →DP Problem 23
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
Nar
       →DP Problem 2
Nar
       →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 w.r.t. to the implicit AFS 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
Nar
       →DP Problem 2
Nar
       →DP Problem 3
Polo
       →DP Problem 4
Polo
           →DP Problem 24
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
Nar
       →DP Problem 2
Nar
       →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 w.r.t. to the implicit AFS 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
Nar
       →DP Problem 2
Nar
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
           →DP Problem 25
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
Nar
       →DP Problem 2
Nar
       →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 w.r.t. to the implicit AFS 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
Nar
       →DP Problem 2
Nar
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
           →DP Problem 26
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
Nar
       →DP Problem 2
Nar
       →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 w.r.t. to the implicit AFS 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
Nar
       →DP Problem 2
Nar
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
           →DP Problem 27
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 w.r.t. to the implicit AFS 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
Nar
       →DP Problem 2
Nar
       →DP Problem 3
Polo
       →DP Problem 4
Polo
       →DP Problem 5
Polo
       →DP Problem 6
Polo
       →DP Problem 7
Polo
           →DP Problem 27
Polo
             ...
               →DP Problem 28
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
Nar
       →DP Problem 2
Nar
       →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 w.r.t. to the implicit AFS 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
Nar
       →DP Problem 2
Nar
       →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 29
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
Nar
       →DP Problem 2
Nar
       →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 w.r.t. to the implicit AFS 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
Nar
       →DP Problem 2
Nar
       →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 30
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:03 minutes