YES Problem: 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))) Proof: DP Processor: DPs: +#(0(x),0(y)) -> +#(x,y) +#(0(x),0(y)) -> 0#(+(x,y)) +#(0(x),1(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(1(x),1(y)) -> 0#(+(+(x,y),1(#()))) +#(x,+(y,z)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) -#(0(x),0(y)) -> -#(x,y) -#(0(x),0(y)) -> 0#(-(x,y)) -#(0(x),1(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(-(x,y),1(#())) -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) -#(1(x),1(y)) -> 0#(-(x,y)) ge#(0(x),0(y)) -> ge#(x,y) ge#(0(x),1(y)) -> ge#(y,x) 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#(#(),0(x)) -> ge#(#(),x) min#(n(x,y,z)) -> min#(y) max#(n(x,y,z)) -> max#(z) bs#(n(x,y,z)) -> bs#(z) bs#(n(x,y,z)) -> bs#(y) bs#(n(x,y,z)) -> and#(bs(y),bs(z)) bs#(n(x,y,z)) -> min#(z) bs#(n(x,y,z)) -> ge#(min(z),x) bs#(n(x,y,z)) -> max#(y) bs#(n(x,y,z)) -> ge#(x,max(y)) bs#(n(x,y,z)) -> and#(ge(x,max(y)),ge(min(z),x)) bs#(n(x,y,z)) -> and#(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) size#(n(x,y,z)) -> size#(y) size#(n(x,y,z)) -> size#(x) size#(n(x,y,z)) -> +#(size(x),size(y)) size#(n(x,y,z)) -> +#(+(size(x),size(y)),1(#())) wb#(n(x,y,z)) -> wb#(z) wb#(n(x,y,z)) -> wb#(y) wb#(n(x,y,z)) -> and#(wb(y),wb(z)) wb#(n(x,y,z)) -> -#(size(z),size(y)) wb#(n(x,y,z)) -> ge#(1(#()),-(size(z),size(y))) wb#(n(x,y,z)) -> -#(size(y),size(z)) wb#(n(x,y,z)) -> ge#(1(#()),-(size(y),size(z))) wb#(n(x,y,z)) -> size#(z) wb#(n(x,y,z)) -> size#(y) wb#(n(x,y,z)) -> ge#(size(y),size(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)) -> and#(if(ge(size(y),size(z)),ge(1(#()),-(size(y),size(z))),ge(1(#()),-(size(z),size(y)))), and(wb(y),wb(z))) TRS: 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))) TDG Processor: DPs: +#(0(x),0(y)) -> +#(x,y) +#(0(x),0(y)) -> 0#(+(x,y)) +#(0(x),1(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(1(x),1(y)) -> 0#(+(+(x,y),1(#()))) +#(x,+(y,z)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) -#(0(x),0(y)) -> -#(x,y) -#(0(x),0(y)) -> 0#(-(x,y)) -#(0(x),1(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(-(x,y),1(#())) -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) -#(1(x),1(y)) -> 0#(-(x,y)) ge#(0(x),0(y)) -> ge#(x,y) ge#(0(x),1(y)) -> ge#(y,x) 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#(#(),0(x)) -> ge#(#(),x) min#(n(x,y,z)) -> min#(y) max#(n(x,y,z)) -> max#(z) bs#(n(x,y,z)) -> bs#(z) bs#(n(x,y,z)) -> bs#(y) bs#(n(x,y,z)) -> and#(bs(y),bs(z)) bs#(n(x,y,z)) -> min#(z) bs#(n(x,y,z)) -> ge#(min(z),x) bs#(n(x,y,z)) -> max#(y) bs#(n(x,y,z)) -> ge#(x,max(y)) bs#(n(x,y,z)) -> and#(ge(x,max(y)),ge(min(z),x)) bs#(n(x,y,z)) -> and#(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) size#(n(x,y,z)) -> size#(y) size#(n(x,y,z)) -> size#(x) size#(n(x,y,z)) -> +#(size(x),size(y)) size#(n(x,y,z)) -> +#(+(size(x),size(y)),1(#())) wb#(n(x,y,z)) -> wb#(z) wb#(n(x,y,z)) -> wb#(y) wb#(n(x,y,z)) -> and#(wb(y),wb(z)) wb#(n(x,y,z)) -> -#(size(z),size(y)) wb#(n(x,y,z)) -> ge#(1(#()),-(size(z),size(y))) wb#(n(x,y,z)) -> -#(size(y),size(z)) wb#(n(x,y,z)) -> ge#(1(#()),-(size(y),size(z))) wb#(n(x,y,z)) -> size#(z) wb#(n(x,y,z)) -> size#(y) wb#(n(x,y,z)) -> ge#(size(y),size(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)) -> and#(if(ge(size(y),size(z)),ge(1(#()),-(size(y),size(z))),ge(1(#()),-(size(z),size(y)))), and(wb(y),wb(z))) TRS: 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))) graph: wb#(n(x,y,z)) -> wb#(z) -> 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)) -> 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)) -> wb#(z) -> wb#(n(x,y,z)) -> ge#(size(y),size(z)) wb#(n(x,y,z)) -> wb#(z) -> wb#(n(x,y,z)) -> size#(y) wb#(n(x,y,z)) -> wb#(z) -> wb#(n(x,y,z)) -> size#(z) wb#(n(x,y,z)) -> wb#(z) -> wb#(n(x,y,z)) -> ge#(1(#()),-(size(y),size(z))) wb#(n(x,y,z)) -> wb#(z) -> wb#(n(x,y,z)) -> -#(size(y),size(z)) wb#(n(x,y,z)) -> wb#(z) -> wb#(n(x,y,z)) -> ge#(1(#()),-(size(z),size(y))) wb#(n(x,y,z)) -> wb#(z) -> wb#(n(x,y,z)) -> -#(size(z),size(y)) wb#(n(x,y,z)) -> wb#(z) -> wb#(n(x,y,z)) -> and#(wb(y),wb(z)) wb#(n(x,y,z)) -> wb#(z) -> wb#(n(x,y,z)) -> wb#(y) wb#(n(x,y,z)) -> wb#(z) -> wb#(n(x,y,z)) -> wb#(z) wb#(n(x,y,z)) -> wb#(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)) -> wb#(y) -> 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)) -> wb#(y) -> wb#(n(x,y,z)) -> ge#(size(y),size(z)) wb#(n(x,y,z)) -> wb#(y) -> wb#(n(x,y,z)) -> size#(y) wb#(n(x,y,z)) -> wb#(y) -> wb#(n(x,y,z)) -> size#(z) wb#(n(x,y,z)) -> wb#(y) -> wb#(n(x,y,z)) -> ge#(1(#()),-(size(y),size(z))) wb#(n(x,y,z)) -> wb#(y) -> wb#(n(x,y,z)) -> -#(size(y),size(z)) wb#(n(x,y,z)) -> wb#(y) -> wb#(n(x,y,z)) -> ge#(1(#()),-(size(z),size(y))) wb#(n(x,y,z)) -> wb#(y) -> wb#(n(x,y,z)) -> -#(size(z),size(y)) wb#(n(x,y,z)) -> wb#(y) -> wb#(n(x,y,z)) -> and#(wb(y),wb(z)) wb#(n(x,y,z)) -> wb#(y) -> wb#(n(x,y,z)) -> wb#(y) wb#(n(x,y,z)) -> wb#(y) -> wb#(n(x,y,z)) -> wb#(z) wb#(n(x,y,z)) -> size#(z) -> size#(n(x,y,z)) -> +#(+(size(x),size(y)),1(#())) wb#(n(x,y,z)) -> size#(z) -> size#(n(x,y,z)) -> +#(size(x),size(y)) wb#(n(x,y,z)) -> size#(z) -> size#(n(x,y,z)) -> size#(x) wb#(n(x,y,z)) -> size#(z) -> size#(n(x,y,z)) -> size#(y) wb#(n(x,y,z)) -> size#(y) -> size#(n(x,y,z)) -> +#(+(size(x),size(y)),1(#())) wb#(n(x,y,z)) -> size#(y) -> size#(n(x,y,z)) -> +#(size(x),size(y)) wb#(n(x,y,z)) -> size#(y) -> size#(n(x,y,z)) -> size#(x) wb#(n(x,y,z)) -> size#(y) -> size#(n(x,y,z)) -> size#(y) wb#(n(x,y,z)) -> ge#(size(y),size(z)) -> ge#(#(),0(x)) -> ge#(#(),x) wb#(n(x,y,z)) -> ge#(size(y),size(z)) -> ge#(1(x),1(y)) -> ge#(x,y) wb#(n(x,y,z)) -> ge#(size(y),size(z)) -> ge#(1(x),0(y)) -> ge#(x,y) wb#(n(x,y,z)) -> ge#(size(y),size(z)) -> ge#(0(x),1(y)) -> not#(ge(y,x)) wb#(n(x,y,z)) -> ge#(size(y),size(z)) -> ge#(0(x),1(y)) -> ge#(y,x) wb#(n(x,y,z)) -> ge#(size(y),size(z)) -> ge#(0(x),0(y)) -> ge#(x,y) wb#(n(x,y,z)) -> ge#(1(#()),-(size(z),size(y))) -> ge#(#(),0(x)) -> ge#(#(),x) wb#(n(x,y,z)) -> ge#(1(#()),-(size(z),size(y))) -> ge#(1(x),1(y)) -> ge#(x,y) wb#(n(x,y,z)) -> ge#(1(#()),-(size(z),size(y))) -> ge#(1(x),0(y)) -> ge#(x,y) wb#(n(x,y,z)) -> ge#(1(#()),-(size(z),size(y))) -> ge#(0(x),1(y)) -> not#(ge(y,x)) wb#(n(x,y,z)) -> ge#(1(#()),-(size(z),size(y))) -> ge#(0(x),1(y)) -> ge#(y,x) wb#(n(x,y,z)) -> ge#(1(#()),-(size(z),size(y))) -> ge#(0(x),0(y)) -> ge#(x,y) wb#(n(x,y,z)) -> ge#(1(#()),-(size(y),size(z))) -> ge#(#(),0(x)) -> ge#(#(),x) wb#(n(x,y,z)) -> ge#(1(#()),-(size(y),size(z))) -> ge#(1(x),1(y)) -> ge#(x,y) wb#(n(x,y,z)) -> ge#(1(#()),-(size(y),size(z))) -> ge#(1(x),0(y)) -> ge#(x,y) wb#(n(x,y,z)) -> ge#(1(#()),-(size(y),size(z))) -> ge#(0(x),1(y)) -> not#(ge(y,x)) wb#(n(x,y,z)) -> ge#(1(#()),-(size(y),size(z))) -> ge#(0(x),1(y)) -> ge#(y,x) wb#(n(x,y,z)) -> ge#(1(#()),-(size(y),size(z))) -> ge#(0(x),0(y)) -> ge#(x,y) wb#(n(x,y,z)) -> -#(size(z),size(y)) -> -#(1(x),1(y)) -> 0#(-(x,y)) wb#(n(x,y,z)) -> -#(size(z),size(y)) -> -#(1(x),1(y)) -> -#(x,y) wb#(n(x,y,z)) -> -#(size(z),size(y)) -> -#(1(x),0(y)) -> -#(x,y) wb#(n(x,y,z)) -> -#(size(z),size(y)) -> -#(0(x),1(y)) -> -#(-(x,y),1(#())) wb#(n(x,y,z)) -> -#(size(z),size(y)) -> -#(0(x),1(y)) -> -#(x,y) wb#(n(x,y,z)) -> -#(size(z),size(y)) -> -#(0(x),0(y)) -> 0#(-(x,y)) wb#(n(x,y,z)) -> -#(size(z),size(y)) -> -#(0(x),0(y)) -> -#(x,y) wb#(n(x,y,z)) -> -#(size(y),size(z)) -> -#(1(x),1(y)) -> 0#(-(x,y)) wb#(n(x,y,z)) -> -#(size(y),size(z)) -> -#(1(x),1(y)) -> -#(x,y) wb#(n(x,y,z)) -> -#(size(y),size(z)) -> -#(1(x),0(y)) -> -#(x,y) wb#(n(x,y,z)) -> -#(size(y),size(z)) -> -#(0(x),1(y)) -> -#(-(x,y),1(#())) wb#(n(x,y,z)) -> -#(size(y),size(z)) -> -#(0(x),1(y)) -> -#(x,y) wb#(n(x,y,z)) -> -#(size(y),size(z)) -> -#(0(x),0(y)) -> 0#(-(x,y)) wb#(n(x,y,z)) -> -#(size(y),size(z)) -> -#(0(x),0(y)) -> -#(x,y) size#(n(x,y,z)) -> size#(y) -> size#(n(x,y,z)) -> +#(+(size(x),size(y)),1(#())) size#(n(x,y,z)) -> size#(y) -> size#(n(x,y,z)) -> +#(size(x),size(y)) size#(n(x,y,z)) -> size#(y) -> size#(n(x,y,z)) -> size#(x) size#(n(x,y,z)) -> size#(y) -> size#(n(x,y,z)) -> size#(y) size#(n(x,y,z)) -> size#(x) -> size#(n(x,y,z)) -> +#(+(size(x),size(y)),1(#())) size#(n(x,y,z)) -> size#(x) -> size#(n(x,y,z)) -> +#(size(x),size(y)) size#(n(x,y,z)) -> size#(x) -> size#(n(x,y,z)) -> size#(x) size#(n(x,y,z)) -> size#(x) -> size#(n(x,y,z)) -> size#(y) size#(n(x,y,z)) -> +#(size(x),size(y)) -> +#(x,+(y,z)) -> +#(+(x,y),z) size#(n(x,y,z)) -> +#(size(x),size(y)) -> +#(x,+(y,z)) -> +#(x,y) size#(n(x,y,z)) -> +#(size(x),size(y)) -> +#(1(x),1(y)) -> 0#(+(+(x,y),1(#()))) size#(n(x,y,z)) -> +#(size(x),size(y)) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) size#(n(x,y,z)) -> +#(size(x),size(y)) -> +#(1(x),1(y)) -> +#(x,y) size#(n(x,y,z)) -> +#(size(x),size(y)) -> +#(1(x),0(y)) -> +#(x,y) size#(n(x,y,z)) -> +#(size(x),size(y)) -> +#(0(x),1(y)) -> +#(x,y) size#(n(x,y,z)) -> +#(size(x),size(y)) -> +#(0(x),0(y)) -> 0#(+(x,y)) size#(n(x,y,z)) -> +#(size(x),size(y)) -> +#(0(x),0(y)) -> +#(x,y) size#(n(x,y,z)) -> +#(+(size(x),size(y)),1(#())) -> +#(x,+(y,z)) -> +#(+(x,y),z) size#(n(x,y,z)) -> +#(+(size(x),size(y)),1(#())) -> +#(x,+(y,z)) -> +#(x,y) size#(n(x,y,z)) -> +#(+(size(x),size(y)),1(#())) -> +#(1(x),1(y)) -> 0#(+(+(x,y),1(#()))) size#(n(x,y,z)) -> +#(+(size(x),size(y)),1(#())) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) size#(n(x,y,z)) -> +#(+(size(x),size(y)),1(#())) -> +#(1(x),1(y)) -> +#(x,y) size#(n(x,y,z)) -> +#(+(size(x),size(y)),1(#())) -> +#(1(x),0(y)) -> +#(x,y) size#(n(x,y,z)) -> +#(+(size(x),size(y)),1(#())) -> +#(0(x),1(y)) -> +#(x,y) size#(n(x,y,z)) -> +#(+(size(x),size(y)),1(#())) -> +#(0(x),0(y)) -> 0#(+(x,y)) size#(n(x,y,z)) -> +#(+(size(x),size(y)),1(#())) -> +#(0(x),0(y)) -> +#(x,y) bs#(n(x,y,z)) -> bs#(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)) -> bs#(z) -> bs#(n(x,y,z)) -> and#(ge(x,max(y)),ge(min(z),x)) bs#(n(x,y,z)) -> bs#(z) -> bs#(n(x,y,z)) -> ge#(x,max(y)) bs#(n(x,y,z)) -> bs#(z) -> bs#(n(x,y,z)) -> max#(y) bs#(n(x,y,z)) -> bs#(z) -> bs#(n(x,y,z)) -> ge#(min(z),x) bs#(n(x,y,z)) -> bs#(z) -> bs#(n(x,y,z)) -> min#(z) bs#(n(x,y,z)) -> bs#(z) -> bs#(n(x,y,z)) -> and#(bs(y),bs(z)) bs#(n(x,y,z)) -> bs#(z) -> bs#(n(x,y,z)) -> bs#(y) bs#(n(x,y,z)) -> bs#(z) -> bs#(n(x,y,z)) -> bs#(z) bs#(n(x,y,z)) -> bs#(y) -> 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)) -> bs#(y) -> bs#(n(x,y,z)) -> and#(ge(x,max(y)),ge(min(z),x)) bs#(n(x,y,z)) -> bs#(y) -> bs#(n(x,y,z)) -> ge#(x,max(y)) bs#(n(x,y,z)) -> bs#(y) -> bs#(n(x,y,z)) -> max#(y) bs#(n(x,y,z)) -> bs#(y) -> bs#(n(x,y,z)) -> ge#(min(z),x) bs#(n(x,y,z)) -> bs#(y) -> bs#(n(x,y,z)) -> min#(z) bs#(n(x,y,z)) -> bs#(y) -> bs#(n(x,y,z)) -> and#(bs(y),bs(z)) bs#(n(x,y,z)) -> bs#(y) -> bs#(n(x,y,z)) -> bs#(y) bs#(n(x,y,z)) -> bs#(y) -> bs#(n(x,y,z)) -> bs#(z) bs#(n(x,y,z)) -> max#(y) -> max#(n(x,y,z)) -> max#(z) bs#(n(x,y,z)) -> min#(z) -> min#(n(x,y,z)) -> min#(y) bs#(n(x,y,z)) -> ge#(min(z),x) -> ge#(#(),0(x)) -> ge#(#(),x) bs#(n(x,y,z)) -> ge#(min(z),x) -> ge#(1(x),1(y)) -> ge#(x,y) bs#(n(x,y,z)) -> ge#(min(z),x) -> ge#(1(x),0(y)) -> ge#(x,y) bs#(n(x,y,z)) -> ge#(min(z),x) -> ge#(0(x),1(y)) -> not#(ge(y,x)) bs#(n(x,y,z)) -> ge#(min(z),x) -> ge#(0(x),1(y)) -> ge#(y,x) bs#(n(x,y,z)) -> ge#(min(z),x) -> ge#(0(x),0(y)) -> ge#(x,y) bs#(n(x,y,z)) -> ge#(x,max(y)) -> ge#(#(),0(x)) -> ge#(#(),x) bs#(n(x,y,z)) -> ge#(x,max(y)) -> ge#(1(x),1(y)) -> ge#(x,y) bs#(n(x,y,z)) -> ge#(x,max(y)) -> ge#(1(x),0(y)) -> ge#(x,y) bs#(n(x,y,z)) -> ge#(x,max(y)) -> ge#(0(x),1(y)) -> not#(ge(y,x)) bs#(n(x,y,z)) -> ge#(x,max(y)) -> ge#(0(x),1(y)) -> ge#(y,x) bs#(n(x,y,z)) -> ge#(x,max(y)) -> ge#(0(x),0(y)) -> ge#(x,y) max#(n(x,y,z)) -> max#(z) -> max#(n(x,y,z)) -> max#(z) min#(n(x,y,z)) -> min#(y) -> min#(n(x,y,z)) -> min#(y) ge#(1(x),1(y)) -> ge#(x,y) -> ge#(#(),0(x)) -> ge#(#(),x) ge#(1(x),1(y)) -> ge#(x,y) -> ge#(1(x),1(y)) -> ge#(x,y) ge#(1(x),1(y)) -> ge#(x,y) -> ge#(1(x),0(y)) -> ge#(x,y) ge#(1(x),1(y)) -> ge#(x,y) -> ge#(0(x),1(y)) -> not#(ge(y,x)) ge#(1(x),1(y)) -> ge#(x,y) -> ge#(0(x),1(y)) -> ge#(y,x) ge#(1(x),1(y)) -> ge#(x,y) -> ge#(0(x),0(y)) -> ge#(x,y) ge#(1(x),0(y)) -> ge#(x,y) -> ge#(#(),0(x)) -> ge#(#(),x) ge#(1(x),0(y)) -> ge#(x,y) -> ge#(1(x),1(y)) -> ge#(x,y) ge#(1(x),0(y)) -> ge#(x,y) -> ge#(1(x),0(y)) -> ge#(x,y) ge#(1(x),0(y)) -> ge#(x,y) -> ge#(0(x),1(y)) -> not#(ge(y,x)) ge#(1(x),0(y)) -> ge#(x,y) -> ge#(0(x),1(y)) -> ge#(y,x) ge#(1(x),0(y)) -> ge#(x,y) -> ge#(0(x),0(y)) -> ge#(x,y) ge#(0(x),1(y)) -> ge#(y,x) -> ge#(#(),0(x)) -> ge#(#(),x) ge#(0(x),1(y)) -> ge#(y,x) -> ge#(1(x),1(y)) -> ge#(x,y) ge#(0(x),1(y)) -> ge#(y,x) -> ge#(1(x),0(y)) -> ge#(x,y) ge#(0(x),1(y)) -> ge#(y,x) -> ge#(0(x),1(y)) -> not#(ge(y,x)) ge#(0(x),1(y)) -> ge#(y,x) -> ge#(0(x),1(y)) -> ge#(y,x) ge#(0(x),1(y)) -> ge#(y,x) -> ge#(0(x),0(y)) -> ge#(x,y) ge#(0(x),0(y)) -> ge#(x,y) -> ge#(#(),0(x)) -> ge#(#(),x) ge#(0(x),0(y)) -> ge#(x,y) -> ge#(1(x),1(y)) -> ge#(x,y) ge#(0(x),0(y)) -> ge#(x,y) -> ge#(1(x),0(y)) -> ge#(x,y) ge#(0(x),0(y)) -> ge#(x,y) -> ge#(0(x),1(y)) -> not#(ge(y,x)) ge#(0(x),0(y)) -> ge#(x,y) -> ge#(0(x),1(y)) -> ge#(y,x) ge#(0(x),0(y)) -> ge#(x,y) -> ge#(0(x),0(y)) -> ge#(x,y) ge#(#(),0(x)) -> ge#(#(),x) -> ge#(#(),0(x)) -> ge#(#(),x) ge#(#(),0(x)) -> ge#(#(),x) -> ge#(1(x),1(y)) -> ge#(x,y) ge#(#(),0(x)) -> ge#(#(),x) -> ge#(1(x),0(y)) -> ge#(x,y) ge#(#(),0(x)) -> ge#(#(),x) -> ge#(0(x),1(y)) -> not#(ge(y,x)) ge#(#(),0(x)) -> ge#(#(),x) -> ge#(0(x),1(y)) -> ge#(y,x) ge#(#(),0(x)) -> ge#(#(),x) -> ge#(0(x),0(y)) -> ge#(x,y) -#(1(x),1(y)) -> -#(x,y) -> -#(1(x),1(y)) -> 0#(-(x,y)) -#(1(x),1(y)) -> -#(x,y) -> -#(1(x),1(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) -> -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) -> -#(0(x),1(y)) -> -#(-(x,y),1(#())) -#(1(x),1(y)) -> -#(x,y) -> -#(0(x),1(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) -> -#(0(x),0(y)) -> 0#(-(x,y)) -#(1(x),1(y)) -> -#(x,y) -> -#(0(x),0(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -> -#(1(x),1(y)) -> 0#(-(x,y)) -#(1(x),0(y)) -> -#(x,y) -> -#(1(x),1(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -> -#(1(x),0(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -> -#(0(x),1(y)) -> -#(-(x,y),1(#())) -#(1(x),0(y)) -> -#(x,y) -> -#(0(x),1(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -> -#(0(x),0(y)) -> 0#(-(x,y)) -#(1(x),0(y)) -> -#(x,y) -> -#(0(x),0(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(-(x,y),1(#())) -> -#(1(x),1(y)) -> 0#(-(x,y)) -#(0(x),1(y)) -> -#(-(x,y),1(#())) -> -#(1(x),1(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(-(x,y),1(#())) -> -#(1(x),0(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(-(x,y),1(#())) -> -#(0(x),1(y)) -> -#(-(x,y),1(#())) -#(0(x),1(y)) -> -#(-(x,y),1(#())) -> -#(0(x),1(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(-(x,y),1(#())) -> -#(0(x),0(y)) -> 0#(-(x,y)) -#(0(x),1(y)) -> -#(-(x,y),1(#())) -> -#(0(x),0(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(x,y) -> -#(1(x),1(y)) -> 0#(-(x,y)) -#(0(x),1(y)) -> -#(x,y) -> -#(1(x),1(y)) -> -#(x,y) -#(0(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),1(y)) -> -#(x,y) -> -#(0(x),1(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(x,y) -> -#(0(x),0(y)) -> 0#(-(x,y)) -#(0(x),1(y)) -> -#(x,y) -> -#(0(x),0(y)) -> -#(x,y) -#(0(x),0(y)) -> -#(x,y) -> -#(1(x),1(y)) -> 0#(-(x,y)) -#(0(x),0(y)) -> -#(x,y) -> -#(1(x),1(y)) -> -#(x,y) -#(0(x),0(y)) -> -#(x,y) -> -#(1(x),0(y)) -> -#(x,y) -#(0(x),0(y)) -> -#(x,y) -> -#(0(x),1(y)) -> -#(-(x,y),1(#())) -#(0(x),0(y)) -> -#(x,y) -> -#(0(x),1(y)) -> -#(x,y) -#(0(x),0(y)) -> -#(x,y) -> -#(0(x),0(y)) -> 0#(-(x,y)) -#(0(x),0(y)) -> -#(x,y) -> -#(0(x),0(y)) -> -#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#())) -> +#(x,+(y,z)) -> +#(+(x,y),z) +#(1(x),1(y)) -> +#(+(x,y),1(#())) -> +#(x,+(y,z)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#())) -> +#(1(x),1(y)) -> 0#(+(+(x,y),1(#()))) +#(1(x),1(y)) -> +#(+(x,y),1(#())) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(1(x),1(y)) -> +#(+(x,y),1(#())) -> +#(1(x),1(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#())) -> +#(1(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#())) -> +#(0(x),1(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#())) -> +#(0(x),0(y)) -> 0#(+(x,y)) +#(1(x),1(y)) -> +#(+(x,y),1(#())) -> +#(0(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(+(x,y),z) +#(1(x),1(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(x,y) +#(1(x),1(y)) -> +#(x,y) -> +#(1(x),1(y)) -> 0#(+(+(x,y),1(#()))) +#(1(x),1(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(1(x),1(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(x,y) -> +#(1(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(x,y) -> +#(0(x),1(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(x,y) -> +#(0(x),0(y)) -> 0#(+(x,y)) +#(1(x),1(y)) -> +#(x,y) -> +#(0(x),0(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(+(x,y),z) +#(1(x),0(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) -> +#(1(x),1(y)) -> 0#(+(+(x,y),1(#()))) +#(1(x),0(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(1(x),0(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) -> +#(1(x),0(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) -> +#(0(x),1(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) -> +#(0(x),0(y)) -> 0#(+(x,y)) +#(1(x),0(y)) -> +#(x,y) -> +#(0(x),0(y)) -> +#(x,y) +#(0(x),1(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(+(x,y),z) +#(0(x),1(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(x,y) +#(0(x),1(y)) -> +#(x,y) -> +#(1(x),1(y)) -> 0#(+(+(x,y),1(#()))) +#(0(x),1(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(0(x),1(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(x,y) +#(0(x),1(y)) -> +#(x,y) -> +#(1(x),0(y)) -> +#(x,y) +#(0(x),1(y)) -> +#(x,y) -> +#(0(x),1(y)) -> +#(x,y) +#(0(x),1(y)) -> +#(x,y) -> +#(0(x),0(y)) -> 0#(+(x,y)) +#(0(x),1(y)) -> +#(x,y) -> +#(0(x),0(y)) -> +#(x,y) +#(0(x),0(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(+(x,y),z) +#(0(x),0(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(x,y) +#(0(x),0(y)) -> +#(x,y) -> +#(1(x),1(y)) -> 0#(+(+(x,y),1(#()))) +#(0(x),0(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(0(x),0(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(x,y) +#(0(x),0(y)) -> +#(x,y) -> +#(1(x),0(y)) -> +#(x,y) +#(0(x),0(y)) -> +#(x,y) -> +#(0(x),1(y)) -> +#(x,y) +#(0(x),0(y)) -> +#(x,y) -> +#(0(x),0(y)) -> 0#(+(x,y)) +#(0(x),0(y)) -> +#(x,y) -> +#(0(x),0(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(x,+(y,z)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(1(x),1(y)) -> 0#(+(+(x,y),1(#()))) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(1(x),0(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(0(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(0(x),0(y)) -> 0#(+(x,y)) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(0(x),0(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(x,y) +#(x,+(y,z)) -> +#(x,y) -> +#(1(x),1(y)) -> 0#(+(+(x,y),1(#()))) +#(x,+(y,z)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(x,+(y,z)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(x,y) -> +#(1(x),0(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(x,y) -> +#(0(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(x,y) -> +#(0(x),0(y)) -> 0#(+(x,y)) +#(x,+(y,z)) -> +#(x,y) -> +#(0(x),0(y)) -> +#(x,y) SCC Processor: #sccs: 8 #rules: 25 #arcs: 252/2401 DPs: bs#(n(x,y,z)) -> bs#(z) bs#(n(x,y,z)) -> bs#(y) TRS: 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))) Subterm Criterion Processor: simple projection: pi(bs#) = 0 problem: DPs: TRS: 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))) Qed DPs: max#(n(x,y,z)) -> max#(z) TRS: 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))) Subterm Criterion Processor: simple projection: pi(max#) = 0 problem: DPs: TRS: 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))) Qed DPs: min#(n(x,y,z)) -> min#(y) TRS: 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))) Subterm Criterion Processor: simple projection: pi(min#) = 0 problem: DPs: TRS: 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))) Qed DPs: wb#(n(x,y,z)) -> wb#(z) wb#(n(x,y,z)) -> wb#(y) TRS: 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))) Subterm Criterion Processor: simple projection: pi(wb#) = 0 problem: DPs: TRS: 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))) Qed DPs: size#(n(x,y,z)) -> size#(y) size#(n(x,y,z)) -> size#(x) TRS: 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))) Subterm Criterion Processor: simple projection: pi(size#) = 0 problem: DPs: TRS: 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))) Qed DPs: +#(0(x),0(y)) -> +#(x,y) +#(0(x),1(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(x,+(y,z)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) TRS: 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))) EDG Processor: DPs: +#(0(x),0(y)) -> +#(x,y) +#(0(x),1(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(x,+(y,z)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) TRS: 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))) graph: +#(1(x),1(y)) -> +#(+(x,y),1(#())) -> +#(0(x),1(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#())) -> +#(1(x),1(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#())) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(1(x),1(y)) -> +#(x,y) -> +#(0(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(x,y) -> +#(0(x),1(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(x,y) -> +#(1(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(1(x),1(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(x,y) +#(1(x),1(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(+(x,y),z) +#(1(x),0(y)) -> +#(x,y) -> +#(0(x),0(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) -> +#(0(x),1(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) -> +#(1(x),0(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(1(x),0(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(+(x,y),z) +#(0(x),1(y)) -> +#(x,y) -> +#(0(x),0(y)) -> +#(x,y) +#(0(x),1(y)) -> +#(x,y) -> +#(0(x),1(y)) -> +#(x,y) +#(0(x),1(y)) -> +#(x,y) -> +#(1(x),0(y)) -> +#(x,y) +#(0(x),1(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(x,y) +#(0(x),1(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(0(x),1(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(x,y) +#(0(x),1(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(+(x,y),z) +#(0(x),0(y)) -> +#(x,y) -> +#(0(x),0(y)) -> +#(x,y) +#(0(x),0(y)) -> +#(x,y) -> +#(0(x),1(y)) -> +#(x,y) +#(0(x),0(y)) -> +#(x,y) -> +#(1(x),0(y)) -> +#(x,y) +#(0(x),0(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(x,y) +#(0(x),0(y)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(0(x),0(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(x,y) +#(0(x),0(y)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(0(x),0(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(0(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(1(x),0(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(x,+(y,z)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) -> +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) -> +#(0(x),0(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(x,y) -> +#(0(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(x,y) -> +#(1(x),0(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(x,y) -> +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(x,+(y,z)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(x,y) +#(x,+(y,z)) -> +#(x,y) -> +#(x,+(y,z)) -> +#(+(x,y),z) Usable Rule Processor: DPs: +#(0(x),0(y)) -> +#(x,y) +#(0(x),1(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(x,+(y,z)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) TRS: +(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(#()) -> #() Semantic Labeling Processor: dimension: 1 usable rules: interpretation: [1](x0) = x0 + 1, [+](x0, x1) = x0 + x1 + 1, [0](x0) = x0, [#] = 0 labeled: +# 0 + usable (for model): +# 0 1 + # argument filtering: pi(#) = [] pi(0) = [] pi(+) = 0 pi(1) = [] pi(+#) = [] precedence: +# ~ 1 ~ + ~ 0 ~ # problem: DPs: +#(0(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(x,+(y,z)) -> +#(+(x,y),z) TRS: +(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(#()) -> #() Restore Modifier: DPs: +#(0(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(x,+(y,z)) -> +#(+(x,y),z) TRS: 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))) SCC Processor: #sccs: 2 #rules: 3 #arcs: 45/9 DPs: +#(0(x),0(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) TRS: 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))) Subterm Criterion Processor: simple projection: pi(+#) = 1 problem: DPs: TRS: 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))) Qed DPs: +#(1(x),1(y)) -> +#(+(x,y),1(#())) TRS: 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))) Usable Rule Processor: DPs: +#(1(x),1(y)) -> +#(+(x,y),1(#())) TRS: +(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(#()) -> #() Semantic Labeling Processor: dimension: 1 usable rules: interpretation: [1](x0) = x0 + 1, [+](x0, x1) = x0 + x1, [0](x0) = x0, [#] = 0 labeled: +# + usable (for model): +# 1 + # 0 argument filtering: pi(#) = [] pi(0) = [] pi(+) = 1 pi(1) = [] pi(+#) = [] precedence: +# ~ 1 ~ + ~ 0 ~ # problem: DPs: TRS: +(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(#()) -> #() Qed DPs: ge#(0(x),0(y)) -> ge#(x,y) 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) TRS: 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))) EDG Processor: DPs: ge#(0(x),0(y)) -> ge#(x,y) 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) TRS: 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))) graph: ge#(1(x),1(y)) -> ge#(x,y) -> ge#(0(x),0(y)) -> ge#(x,y) ge#(1(x),1(y)) -> ge#(x,y) -> ge#(0(x),1(y)) -> ge#(y,x) ge#(1(x),1(y)) -> ge#(x,y) -> ge#(1(x),0(y)) -> ge#(x,y) ge#(1(x),1(y)) -> ge#(x,y) -> ge#(1(x),1(y)) -> ge#(x,y) ge#(1(x),1(y)) -> ge#(x,y) -> ge#(#(),0(x)) -> ge#(#(),x) ge#(1(x),0(y)) -> ge#(x,y) -> ge#(0(x),0(y)) -> ge#(x,y) ge#(1(x),0(y)) -> ge#(x,y) -> ge#(0(x),1(y)) -> ge#(y,x) ge#(1(x),0(y)) -> ge#(x,y) -> ge#(1(x),0(y)) -> ge#(x,y) ge#(1(x),0(y)) -> ge#(x,y) -> ge#(1(x),1(y)) -> ge#(x,y) ge#(1(x),0(y)) -> ge#(x,y) -> ge#(#(),0(x)) -> ge#(#(),x) ge#(0(x),1(y)) -> ge#(y,x) -> ge#(0(x),0(y)) -> ge#(x,y) ge#(0(x),1(y)) -> ge#(y,x) -> ge#(0(x),1(y)) -> ge#(y,x) ge#(0(x),1(y)) -> ge#(y,x) -> ge#(1(x),0(y)) -> ge#(x,y) ge#(0(x),1(y)) -> ge#(y,x) -> ge#(1(x),1(y)) -> ge#(x,y) ge#(0(x),1(y)) -> ge#(y,x) -> ge#(#(),0(x)) -> ge#(#(),x) ge#(0(x),0(y)) -> ge#(x,y) -> ge#(0(x),0(y)) -> ge#(x,y) ge#(0(x),0(y)) -> ge#(x,y) -> ge#(0(x),1(y)) -> ge#(y,x) ge#(0(x),0(y)) -> ge#(x,y) -> ge#(1(x),0(y)) -> ge#(x,y) ge#(0(x),0(y)) -> ge#(x,y) -> ge#(1(x),1(y)) -> ge#(x,y) ge#(0(x),0(y)) -> ge#(x,y) -> ge#(#(),0(x)) -> ge#(#(),x) ge#(#(),0(x)) -> ge#(#(),x) -> ge#(#(),0(x)) -> ge#(#(),x) SCC Processor: #sccs: 2 #rules: 5 #arcs: 21/25 DPs: 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) TRS: 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))) Size-Change Termination Processor: DPs: TRS: 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 DP: ge#(1(x),1(y)) -> ge#(x,y) has the edges: 0 > 0 1 > 1 The DP: ge#(1(x),0(y)) -> ge#(x,y) has the edges: 0 > 0 1 > 1 The DP: ge#(0(x),1(y)) -> ge#(y,x) has the edges: 0 > 1 1 > 0 The DP: ge#(0(x),0(y)) -> ge#(x,y) has the edges: 0 > 0 1 > 1 Qed DPs: ge#(#(),0(x)) -> ge#(#(),x) TRS: 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))) Subterm Criterion Processor: simple projection: pi(ge#) = 1 problem: DPs: TRS: 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))) Qed DPs: -#(0(x),0(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(-(x,y),1(#())) -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) TRS: 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))) EDG Processor: DPs: -#(0(x),0(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(-(x,y),1(#())) -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) TRS: 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))) graph: -#(1(x),1(y)) -> -#(x,y) -> -#(0(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) -> -#(0(x),1(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) -> -#(0(x),1(y)) -> -#(-(x,y),1(#())) -#(1(x),1(y)) -> -#(x,y) -> -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) -> -#(1(x),1(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -> -#(0(x),0(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -> -#(0(x),1(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -> -#(0(x),1(y)) -> -#(-(x,y),1(#())) -#(1(x),0(y)) -> -#(x,y) -> -#(1(x),0(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -> -#(1(x),1(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(-(x,y),1(#())) -> -#(0(x),1(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(-(x,y),1(#())) -> -#(0(x),1(y)) -> -#(-(x,y),1(#())) -#(0(x),1(y)) -> -#(-(x,y),1(#())) -> -#(1(x),1(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(x,y) -> -#(0(x),0(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(x,y) -> -#(0(x),1(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(x,y) -> -#(0(x),1(y)) -> -#(-(x,y),1(#())) -#(0(x),1(y)) -> -#(x,y) -> -#(1(x),0(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(x,y) -> -#(1(x),1(y)) -> -#(x,y) -#(0(x),0(y)) -> -#(x,y) -> -#(0(x),0(y)) -> -#(x,y) -#(0(x),0(y)) -> -#(x,y) -> -#(0(x),1(y)) -> -#(x,y) -#(0(x),0(y)) -> -#(x,y) -> -#(0(x),1(y)) -> -#(-(x,y),1(#())) -#(0(x),0(y)) -> -#(x,y) -> -#(1(x),0(y)) -> -#(x,y) -#(0(x),0(y)) -> -#(x,y) -> -#(1(x),1(y)) -> -#(x,y) Usable Rule Processor: DPs: -#(0(x),0(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(-(x,y),1(#())) -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) TRS: -(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(#()) -> #() Semantic Labeling Processor: dimension: 1 usable rules: -(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(#()) -> #() interpretation: [-](x0, x1) = x0, [1](x0) = x0 + 1, [0](x0) = x0 + 1, [#] = 0 labeled: 0 - usable (for model): 0 1 - # argument filtering: pi(#) = [] pi(0) = [0] pi(1) = 0 pi(-) = [0] pi(-#) = 0 precedence: - > -# ~ 1 ~ 0 ~ # problem: DPs: -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) TRS: -(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(#()) -> #() Restore Modifier: DPs: -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) TRS: 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))) Subterm Criterion Processor: simple projection: pi(-#) = 1 problem: DPs: TRS: 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))) Qed