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
Argument Filtering and Ordering
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
AFS
       →DP Problem 5
AFS
       →DP Problem 6
AFS
       →DP Problem 7
AFS
       →DP Problem 8
AFS
       →DP Problem 9
AFS


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


The following usable rules w.r.t. to the AFS 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 + x1 + x2  

resulting in one new DP problem.
Used Argument Filtering System:
+'(x1, x2) -> +'(x1, x2)
+(x1, x2) -> +(x1, x2)
1(x1) -> 1(x1)
0(x1) -> 0(x1)


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


Dependency Pairs:

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





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


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 10
DGraph
             ...
               →DP Problem 11
Argument Filtering and Ordering
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
AFS
       →DP Problem 5
AFS
       →DP Problem 6
AFS
       →DP Problem 7
AFS
       →DP Problem 8
AFS
       →DP Problem 9
AFS


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(#))


The following usable rules w.r.t. to the AFS 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.
Used Argument Filtering System:
+'(x1, x2) -> +'(x1, x2)
1(x1) -> 1(x1)
+(x1, x2) -> +(x1, x2)
0(x1) -> 0(x1)


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


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
AFS
           →DP Problem 10
DGraph
             ...
               →DP Problem 12
Argument Filtering and Ordering
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
AFS
       →DP Problem 5
AFS
       →DP Problem 6
AFS
       →DP Problem 7
AFS
       →DP Problem 8
AFS
       →DP Problem 9
AFS


Dependency Pairs:

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





The following dependency pair can be strictly oriented:

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


The following usable rules w.r.t. to the AFS can be oriented:

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


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

resulting in one new DP problem.
Used Argument Filtering System:
+'(x1, x2) -> +'(x1, x2)
+(x1, x2) -> +(x1, x2)
0(x1) -> 0(x1)
1(x1) -> 1(x1)


   R
DPs
       →DP Problem 1
AFS
           →DP Problem 10
DGraph
             ...
               →DP Problem 14
Argument Filtering and Ordering
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
AFS
       →DP Problem 5
AFS
       →DP Problem 6
AFS
       →DP Problem 7
AFS
       →DP Problem 8
AFS
       →DP Problem 9
AFS


Dependency Pair:

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





The following dependency pair can be strictly oriented:

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


There are no usable rules w.r.t. to the AFS that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(+(x1, x2))=  1 + x1 + x2  

resulting in one new DP problem.
Used Argument Filtering System:
+'(x1, x2) -> x2
+(x1, x2) -> +(x1, x2)


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


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
AFS
       →DP Problem 2
Argument Filtering and Ordering
       →DP Problem 3
AFS
       →DP Problem 4
AFS
       →DP Problem 5
AFS
       →DP Problem 6
AFS
       →DP Problem 7
AFS
       →DP Problem 8
AFS
       →DP Problem 9
AFS


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


The following usable rules w.r.t. to the AFS 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(-'(x1, x2))=  1 + x1 + x2  
  POL(0(x1))=  1 + x1  
  POL(1(x1))=  1 + x1  
  POL(-(x1, x2))=  x1 + x2  

resulting in one new DP problem.
Used Argument Filtering System:
-'(x1, x2) -> -'(x1, x2)
0(x1) -> 0(x1)
1(x1) -> 1(x1)
-(x1, x2) -> -(x1, x2)


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


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
AFS
       →DP Problem 2
AFS
       →DP Problem 3
Argument Filtering and Ordering
       →DP Problem 4
AFS
       →DP Problem 5
AFS
       →DP Problem 6
AFS
       →DP Problem 7
AFS
       →DP Problem 8
AFS
       →DP Problem 9
AFS


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 AFS that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(#)=  0  
  POL(0(x1))=  1 + x1  
  POL(GE(x1, x2))=  x1 + x2  

resulting in one new DP problem.
Used Argument Filtering System:
GE(x1, x2) -> GE(x1, x2)
0(x1) -> 0(x1)


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


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
AFS
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
Argument Filtering and Ordering
       →DP Problem 5
AFS
       →DP Problem 6
AFS
       →DP Problem 7
AFS
       →DP Problem 8
AFS
       →DP Problem 9
AFS


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 AFS that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(MIN(x1))=  x1  
  POL(n(x1, x2, x3))=  1 + x1 + x2 + x3  

resulting in one new DP problem.
Used Argument Filtering System:
MIN(x1) -> MIN(x1)
n(x1, x2, x3) -> n(x1, x2, x3)


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


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
AFS
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
AFS
       →DP Problem 5
Argument Filtering and Ordering
       →DP Problem 6
AFS
       →DP Problem 7
AFS
       →DP Problem 8
AFS
       →DP Problem 9
AFS


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 AFS that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(MAX(x1))=  x1  
  POL(n(x1, x2, x3))=  1 + x1 + x2 + x3  

resulting in one new DP problem.
Used Argument Filtering System:
MAX(x1) -> MAX(x1)
n(x1, x2, x3) -> n(x1, x2, x3)


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


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
AFS
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
AFS
       →DP Problem 5
AFS
       →DP Problem 6
Argument Filtering and Ordering
       →DP Problem 7
AFS
       →DP Problem 8
AFS
       →DP Problem 9
AFS


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 AFS that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(n(x1, x2, x3))=  1 + x1 + x2 + x3  
  POL(SIZE(x1))=  x1  

resulting in one new DP problem.
Used Argument Filtering System:
SIZE(x1) -> SIZE(x1)
n(x1, x2, x3) -> n(x1, x2, x3)


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


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
AFS
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
AFS
       →DP Problem 5
AFS
       →DP Problem 6
AFS
       →DP Problem 7
Argument Filtering and Ordering
       →DP Problem 8
AFS
       →DP Problem 9
AFS


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 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.
Used Argument Filtering System:
GE(x1, x2) -> GE(x1, x2)
1(x1) -> 1(x1)
0(x1) -> 0(x1)


   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
AFS
       →DP Problem 5
AFS
       →DP Problem 6
AFS
       →DP Problem 7
AFS
           →DP Problem 21
Argument Filtering and Ordering
       →DP Problem 8
AFS
       →DP Problem 9
AFS


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 AFS that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(0(x1))=  1 + x1  
  POL(GE(x1, x2))=  x1 + x2  

resulting in one new DP problem.
Used Argument Filtering System:
GE(x1, x2) -> GE(x1, x2)
0(x1) -> 0(x1)


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


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
AFS
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
AFS
       →DP Problem 5
AFS
       →DP Problem 6
AFS
       →DP Problem 7
AFS
       →DP Problem 8
Argument Filtering and Ordering
       →DP Problem 9
AFS


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 AFS that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(n(x1, x2, x3))=  1 + x1 + x2 + x3  
  POL(WB(x1))=  x1  

resulting in one new DP problem.
Used Argument Filtering System:
WB(x1) -> WB(x1)
n(x1, x2, x3) -> n(x1, x2, x3)


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


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
AFS
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
AFS
       →DP Problem 5
AFS
       →DP Problem 6
AFS
       →DP Problem 7
AFS
       →DP Problem 8
AFS
       →DP Problem 9
Argument Filtering and 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 AFS that need to be oriented.
Used ordering: Polynomial ordering with Polynomial interpretation:
  POL(BS(x1))=  x1  
  POL(n(x1, x2, x3))=  1 + x1 + x2 + x3  

resulting in one new DP problem.
Used Argument Filtering System:
BS(x1) -> BS(x1)
n(x1, x2, x3) -> n(x1, x2, x3)


   R
DPs
       →DP Problem 1
AFS
       →DP Problem 2
AFS
       →DP Problem 3
AFS
       →DP Problem 4
AFS
       →DP Problem 5
AFS
       →DP Problem 6
AFS
       →DP Problem 7
AFS
       →DP Problem 8
AFS
       →DP Problem 9
AFS
           →DP Problem 24
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:01 minutes