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) Arctic Interpretation Processor: dimension: 1 interpretation: [+#](x0, x1) = x1, [wb](x0) = 5x0 + 6, [size](x0) = x0, [bs](x0) = 0, [max](x0) = 3x0, [min](x0) = x0, [n](x0, x1, x2) = x0 + 1x1 + 1x2 + 2, [val](x0) = x0 + 10, [l](x0) = 1x0 + 0, [ge](x0, x1) = 0, [if](x0, x1, x2) = 5x0 + 4x1 + 5x2 + 0, [and](x0, x1) = x0 + 0, [true] = 0, [not](x0) = x0 + 0, [false] = 0, [-](x0, x1) = x0 + x1 + 0, [1](x0) = x0 + 0, [+](x0, x1) = x0 + 1x1, [0](x0) = x0 + 0, [#] = 0 orientation: +#(0(x),0(y)) = y + 0 >= y = +#(x,y) +#(0(x),1(y)) = y + 0 >= y = +#(x,y) +#(1(x),0(y)) = y + 0 >= y = +#(x,y) +#(1(x),1(y)) = y + 0 >= y = +#(x,y) +#(1(x),1(y)) = y + 0 >= 0 = +#(+(x,y),1(#())) +#(x,+(y,z)) = y + 1z >= y = +#(x,y) +#(x,+(y,z)) = y + 1z >= z = +#(+(x,y),z) 0(#()) = 0 >= 0 = #() +(x,#()) = x + 1 >= x = x +(#(),x) = 1x + 0 >= x = x +(0(x),0(y)) = x + 1y + 1 >= x + 1y + 0 = 0(+(x,y)) +(0(x),1(y)) = x + 1y + 1 >= x + 1y + 0 = 1(+(x,y)) +(1(x),0(y)) = x + 1y + 1 >= x + 1y + 0 = 1(+(x,y)) +(1(x),1(y)) = x + 1y + 1 >= x + 1y + 1 = 0(+(+(x,y),1(#()))) +(x,+(y,z)) = x + 1y + 2z >= x + 1y + 1z = +(+(x,y),z) -(x,#()) = x + 0 >= x = x -(#(),x) = x + 0 >= 0 = #() -(0(x),0(y)) = x + y + 0 >= x + y + 0 = 0(-(x,y)) -(0(x),1(y)) = x + y + 0 >= x + y + 0 = 1(-(-(x,y),1(#()))) -(1(x),0(y)) = x + y + 0 >= x + y + 0 = 1(-(x,y)) -(1(x),1(y)) = x + y + 0 >= x + y + 0 = 0(-(x,y)) not(false()) = 0 >= 0 = true() not(true()) = 0 >= 0 = false() and(x,true()) = x + 0 >= x = x and(x,false()) = x + 0 >= 0 = false() if(true(),x,y) = 4x + 5y + 5 >= x = x if(false(),x,y) = 4x + 5y + 5 >= y = y ge(0(x),0(y)) = 0 >= 0 = ge(x,y) ge(0(x),1(y)) = 0 >= 0 = not(ge(y,x)) ge(1(x),0(y)) = 0 >= 0 = ge(x,y) ge(1(x),1(y)) = 0 >= 0 = ge(x,y) ge(x,#()) = 0 >= 0 = true() ge(#(),1(x)) = 0 >= 0 = false() ge(#(),0(x)) = 0 >= 0 = ge(#(),x) val(l(x)) = 1x + 10 >= x = x val(n(x,y,z)) = x + 1y + 1z + 10 >= x = x min(l(x)) = 1x + 0 >= x = x min(n(x,y,z)) = x + 1y + 1z + 2 >= y = min(y) max(l(x)) = 4x + 3 >= x = x max(n(x,y,z)) = 3x + 4y + 4z + 5 >= 3z = max(z) bs(l(x)) = 0 >= 0 = true() bs(n(x,y,z)) = 0 >= 0 = and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) size(l(x)) = 1x + 0 >= 0 = 1(#()) size(n(x,y,z)) = x + 1y + 1z + 2 >= x + 1y + 1 = +(+(size(x),size(y)),1(#())) wb(l(x)) = 6x + 6 >= 0 = true() wb(n(x,y,z)) = 5x + 6y + 6z + 7 >= 5 = and(if(ge(size(y),size(z)),ge(1(#()),-(size(y),size(z))),ge(1(#()),-( size(z), size (y)))), and(wb(y),wb(z))) problem: 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) 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))) Matrix Interpretation Processor: dim=1 interpretation: [+#](x0, x1) = 4x1, [wb](x0) = 4x0 + 4, [size](x0) = 2x0 + 1, [bs](x0) = 4x0 + 2, [max](x0) = x0 + 1, [min](x0) = x0 + 3, [n](x0, x1, x2) = 2x0 + 4x1 + 4x2 + 6, [val](x0) = 5x0, [l](x0) = x0 + 4, [ge](x0, x1) = 4x1, [if](x0, x1, x2) = x1 + x2 + 5, [and](x0, x1) = 2x0, [true] = 0, [not](x0) = 0, [false] = 0, [-](x0, x1) = x0, [1](x0) = x0 + 3, [+](x0, x1) = x0 + 3x1, [0](x0) = x0 + 3, [#] = 0 orientation: +#(0(x),0(y)) = 4y + 12 >= 4y = +#(x,y) +#(0(x),1(y)) = 4y + 12 >= 4y = +#(x,y) +#(1(x),0(y)) = 4y + 12 >= 4y = +#(x,y) +#(1(x),1(y)) = 4y + 12 >= 4y = +#(x,y) +#(1(x),1(y)) = 4y + 12 >= 12 = +#(+(x,y),1(#())) +#(x,+(y,z)) = 4y + 12z >= 4y = +#(x,y) 0(#()) = 3 >= 0 = #() +(x,#()) = x >= x = x +(#(),x) = 3x >= x = x +(0(x),0(y)) = x + 3y + 12 >= x + 3y + 3 = 0(+(x,y)) +(0(x),1(y)) = x + 3y + 12 >= x + 3y + 3 = 1(+(x,y)) +(1(x),0(y)) = x + 3y + 12 >= x + 3y + 3 = 1(+(x,y)) +(1(x),1(y)) = x + 3y + 12 >= x + 3y + 12 = 0(+(+(x,y),1(#()))) +(x,+(y,z)) = x + 3y + 9z >= x + 3y + 3z = +(+(x,y),z) -(x,#()) = x >= x = x -(#(),x) = 0 >= 0 = #() -(0(x),0(y)) = x + 3 >= x + 3 = 0(-(x,y)) -(0(x),1(y)) = x + 3 >= x + 3 = 1(-(-(x,y),1(#()))) -(1(x),0(y)) = x + 3 >= x + 3 = 1(-(x,y)) -(1(x),1(y)) = x + 3 >= x + 3 = 0(-(x,y)) not(false()) = 0 >= 0 = true() not(true()) = 0 >= 0 = false() and(x,true()) = 2x >= x = x and(x,false()) = 2x >= 0 = false() if(true(),x,y) = x + y + 5 >= x = x if(false(),x,y) = x + y + 5 >= y = y ge(0(x),0(y)) = 4y + 12 >= 4y = ge(x,y) ge(0(x),1(y)) = 4y + 12 >= 0 = not(ge(y,x)) ge(1(x),0(y)) = 4y + 12 >= 4y = ge(x,y) ge(1(x),1(y)) = 4y + 12 >= 4y = ge(x,y) ge(x,#()) = 0 >= 0 = true() ge(#(),1(x)) = 4x + 12 >= 0 = false() ge(#(),0(x)) = 4x + 12 >= 4x = ge(#(),x) val(l(x)) = 5x + 20 >= x = x val(n(x,y,z)) = 10x + 20y + 20z + 30 >= x = x min(l(x)) = x + 7 >= x = x min(n(x,y,z)) = 2x + 4y + 4z + 9 >= y + 3 = min(y) max(l(x)) = x + 5 >= x = x max(n(x,y,z)) = 2x + 4y + 4z + 7 >= z + 1 = max(z) bs(l(x)) = 4x + 18 >= 0 = true() bs(n(x,y,z)) = 8x + 16y + 16z + 26 >= 16y + 16 = and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) size(l(x)) = 2x + 9 >= 3 = 1(#()) size(n(x,y,z)) = 4x + 8y + 8z + 13 >= 2x + 6y + 13 = +(+(size(x),size(y)),1(#())) wb(l(x)) = 4x + 20 >= 0 = true() wb(n(x,y,z)) = 8x + 16y + 16z + 28 >= 16y + 16z + 26 = and(if(ge(size(y),size(z)),ge(1(#()),-(size(y),size(z))),ge(1(#()),-( size(z), size (y)))), and(wb(y),wb(z))) problem: DPs: +#(1(x),1(y)) -> +#(+(x,y),1(#())) +#(x,+(y,z)) -> +#(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))) SCC Processor: #sccs: 2 #rules: 2 #arcs: 45/4 DPs: +#(x,+(y,z)) -> +#(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 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))) Matrix Interpretation Processor: dim=1 interpretation: [+#](x0, x1) = 1/2x0 + 2x1, [wb](x0) = 5/2, [size](x0) = 3x0 + 2, [bs](x0) = 1/2, [max](x0) = 3x0 + 3, [min](x0) = 2x0, [n](x0, x1, x2) = 5/2x0 + 2x1 + 3/2x2 + 7/2, [val](x0) = 2x0 + 7/2, [l](x0) = 1/2x0 + 1, [ge](x0, x1) = 1/2, [if](x0, x1, x2) = 2x1 + x2 + 1/2, [and](x0, x1) = x0, [true] = 0, [not](x0) = 0, [false] = 0, [-](x0, x1) = x0 + x1, [1](x0) = x0 + 2, [+](x0, x1) = x0 + 2x1, [0](x0) = x0 + 2, [#] = 0 orientation: +#(1(x),1(y)) = 1/2x + 2y + 5 >= 1/2x + y + 4 = +#(+(x,y),1(#())) 0(#()) = 2 >= 0 = #() +(x,#()) = x >= x = x +(#(),x) = 2x >= x = x +(0(x),0(y)) = x + 2y + 6 >= x + 2y + 2 = 0(+(x,y)) +(0(x),1(y)) = x + 2y + 6 >= x + 2y + 2 = 1(+(x,y)) +(1(x),0(y)) = x + 2y + 6 >= x + 2y + 2 = 1(+(x,y)) +(1(x),1(y)) = x + 2y + 6 >= x + 2y + 6 = 0(+(+(x,y),1(#()))) +(x,+(y,z)) = x + 2y + 4z >= x + 2y + 2z = +(+(x,y),z) -(x,#()) = x >= x = x -(#(),x) = x >= 0 = #() -(0(x),0(y)) = x + y + 4 >= x + y + 2 = 0(-(x,y)) -(0(x),1(y)) = x + y + 4 >= x + y + 4 = 1(-(-(x,y),1(#()))) -(1(x),0(y)) = x + y + 4 >= x + y + 2 = 1(-(x,y)) -(1(x),1(y)) = x + y + 4 >= x + y + 2 = 0(-(x,y)) not(false()) = 0 >= 0 = true() not(true()) = 0 >= 0 = false() and(x,true()) = x >= x = x and(x,false()) = x >= 0 = false() if(true(),x,y) = 2x + y + 1/2 >= x = x if(false(),x,y) = 2x + y + 1/2 >= y = y ge(0(x),0(y)) = 1/2 >= 1/2 = ge(x,y) ge(0(x),1(y)) = 1/2 >= 0 = not(ge(y,x)) ge(1(x),0(y)) = 1/2 >= 1/2 = ge(x,y) ge(1(x),1(y)) = 1/2 >= 1/2 = ge(x,y) ge(x,#()) = 1/2 >= 0 = true() ge(#(),1(x)) = 1/2 >= 0 = false() ge(#(),0(x)) = 1/2 >= 1/2 = ge(#(),x) val(l(x)) = x + 11/2 >= x = x val(n(x,y,z)) = 5x + 4y + 3z + 21/2 >= x = x min(l(x)) = x + 2 >= x = x min(n(x,y,z)) = 5x + 4y + 3z + 7 >= 2y = min(y) max(l(x)) = 3/2x + 6 >= x = x max(n(x,y,z)) = 15/2x + 6y + 9/2z + 27/2 >= 3z + 3 = max(z) bs(l(x)) = 1/2 >= 0 = true() bs(n(x,y,z)) = 1/2 >= 1/2 = and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) size(l(x)) = 3/2x + 5 >= 2 = 1(#()) size(n(x,y,z)) = 15/2x + 6y + 9/2z + 25/2 >= 3x + 6y + 10 = +(+(size(x),size(y)),1(#())) wb(l(x)) = 5/2 >= 0 = true() wb(n(x,y,z)) = 5/2 >= 2 = and(if(ge(size(y),size(z)),ge(1(#()),-(size(y),size(z))),ge(1(#()),-( size(z), size (y)))), and(wb(y),wb(z))) 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: 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))) Matrix Interpretation Processor: dim=1 interpretation: [ge#](x0, x1) = 2x0 + 2x1, [wb](x0) = 7/2x0 + 2, [size](x0) = 1/2x0 + 1/2, [bs](x0) = 3x0 + 2, [max](x0) = 2x0 + 1, [min](x0) = 2x0 + 1, [n](x0, x1, x2) = 3x0 + 2x1 + 3x2 + 2, [val](x0) = x0 + 1, [l](x0) = 5/2x0, [ge](x0, x1) = 3x0 + x1, [if](x0, x1, x2) = x1 + x2 + 1, [and](x0, x1) = x0 + x1, [true] = 0, [not](x0) = 2, [false] = 0, [-](x0, x1) = x0, [1](x0) = x0 + 1/2, [+](x0, x1) = x0 + x1, [0](x0) = x0 + 1/2, [#] = 0 orientation: ge#(1(x),1(y)) = 2x + 2y + 2 >= 2x + 2y = ge#(x,y) ge#(1(x),0(y)) = 2x + 2y + 2 >= 2x + 2y = ge#(x,y) ge#(0(x),1(y)) = 2x + 2y + 2 >= 2x + 2y = ge#(y,x) ge#(0(x),0(y)) = 2x + 2y + 2 >= 2x + 2y = ge#(x,y) 0(#()) = 1/2 >= 0 = #() +(x,#()) = x >= x = x +(#(),x) = x >= x = x +(0(x),0(y)) = x + y + 1 >= x + y + 1/2 = 0(+(x,y)) +(0(x),1(y)) = x + y + 1 >= x + y + 1/2 = 1(+(x,y)) +(1(x),0(y)) = x + y + 1 >= x + y + 1/2 = 1(+(x,y)) +(1(x),1(y)) = x + y + 1 >= x + y + 1 = 0(+(+(x,y),1(#()))) +(x,+(y,z)) = x + y + z >= x + y + z = +(+(x,y),z) -(x,#()) = x >= x = x -(#(),x) = 0 >= 0 = #() -(0(x),0(y)) = x + 1/2 >= x + 1/2 = 0(-(x,y)) -(0(x),1(y)) = x + 1/2 >= x + 1/2 = 1(-(-(x,y),1(#()))) -(1(x),0(y)) = x + 1/2 >= x + 1/2 = 1(-(x,y)) -(1(x),1(y)) = x + 1/2 >= x + 1/2 = 0(-(x,y)) not(false()) = 2 >= 0 = true() not(true()) = 2 >= 0 = false() and(x,true()) = x >= x = x and(x,false()) = x >= 0 = false() if(true(),x,y) = x + y + 1 >= x = x if(false(),x,y) = x + y + 1 >= y = y ge(0(x),0(y)) = 3x + y + 2 >= 3x + y = ge(x,y) ge(0(x),1(y)) = 3x + y + 2 >= 2 = not(ge(y,x)) ge(1(x),0(y)) = 3x + y + 2 >= 3x + y = ge(x,y) ge(1(x),1(y)) = 3x + y + 2 >= 3x + y = ge(x,y) ge(x,#()) = 3x >= 0 = true() ge(#(),1(x)) = x + 1/2 >= 0 = false() ge(#(),0(x)) = x + 1/2 >= x = ge(#(),x) val(l(x)) = 5/2x + 1 >= x = x val(n(x,y,z)) = 3x + 2y + 3z + 3 >= x = x min(l(x)) = 5x + 1 >= x = x min(n(x,y,z)) = 6x + 4y + 6z + 5 >= 2y + 1 = min(y) max(l(x)) = 5x + 1 >= x = x max(n(x,y,z)) = 6x + 4y + 6z + 5 >= 2z + 1 = max(z) bs(l(x)) = 15/2x + 2 >= 0 = true() bs(n(x,y,z)) = 9x + 6y + 9z + 8 >= 4x + 5y + 9z + 8 = and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) size(l(x)) = 5/4x + 1/2 >= 1/2 = 1(#()) size(n(x,y,z)) = 3/2x + y + 3/2z + 3/2 >= 1/2x + 1/2y + 3/2 = +(+(size(x),size(y)),1(#())) wb(l(x)) = 35/4x + 2 >= 0 = true() wb(n(x,y,z)) = 21/2x + 7y + 21/2z + 9 >= 4y + 4z + 9 = and(if(ge(size(y),size(z)),ge(1(#()),-(size(y),size(z))),ge(1(#()),-( size(z), size (y)))), and(wb(y),wb(z))) 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: 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) Matrix Interpretation Processor: dim=1 interpretation: [-#](x0, x1) = 2x1, [wb](x0) = 7x0 + 4, [size](x0) = 4x0 + 2, [bs](x0) = 2x0, [max](x0) = 5x0 + 2, [min](x0) = x0 + 4, [n](x0, x1, x2) = 2x0 + 4x1 + 2x2 + 2, [val](x0) = x0, [l](x0) = 2x0, [ge](x0, x1) = 0, [if](x0, x1, x2) = 4x1 + 2x2 + 4, [and](x0, x1) = 4x0, [true] = 0, [not](x0) = 0, [false] = 0, [-](x0, x1) = x0, [1](x0) = x0 + 2, [+](x0, x1) = x0 + x1, [0](x0) = x0 + 2, [#] = 0 orientation: -#(0(x),0(y)) = 2y + 4 >= 2y = -#(x,y) -#(0(x),1(y)) = 2y + 4 >= 2y = -#(x,y) -#(0(x),1(y)) = 2y + 4 >= 4 = -#(-(x,y),1(#())) -#(1(x),0(y)) = 2y + 4 >= 2y = -#(x,y) -#(1(x),1(y)) = 2y + 4 >= 2y = -#(x,y) 0(#()) = 2 >= 0 = #() +(x,#()) = x >= x = x +(#(),x) = x >= x = x +(0(x),0(y)) = x + y + 4 >= x + y + 2 = 0(+(x,y)) +(0(x),1(y)) = x + y + 4 >= x + y + 2 = 1(+(x,y)) +(1(x),0(y)) = x + y + 4 >= x + y + 2 = 1(+(x,y)) +(1(x),1(y)) = x + y + 4 >= x + y + 4 = 0(+(+(x,y),1(#()))) +(x,+(y,z)) = x + y + z >= x + y + z = +(+(x,y),z) -(x,#()) = x >= x = x -(#(),x) = 0 >= 0 = #() -(0(x),0(y)) = x + 2 >= x + 2 = 0(-(x,y)) -(0(x),1(y)) = x + 2 >= x + 2 = 1(-(-(x,y),1(#()))) -(1(x),0(y)) = x + 2 >= x + 2 = 1(-(x,y)) -(1(x),1(y)) = x + 2 >= x + 2 = 0(-(x,y)) not(false()) = 0 >= 0 = true() not(true()) = 0 >= 0 = false() and(x,true()) = 4x >= x = x and(x,false()) = 4x >= 0 = false() if(true(),x,y) = 4x + 2y + 4 >= x = x if(false(),x,y) = 4x + 2y + 4 >= y = y ge(0(x),0(y)) = 0 >= 0 = ge(x,y) ge(0(x),1(y)) = 0 >= 0 = not(ge(y,x)) ge(1(x),0(y)) = 0 >= 0 = ge(x,y) ge(1(x),1(y)) = 0 >= 0 = ge(x,y) ge(x,#()) = 0 >= 0 = true() ge(#(),1(x)) = 0 >= 0 = false() ge(#(),0(x)) = 0 >= 0 = ge(#(),x) val(l(x)) = 2x >= x = x val(n(x,y,z)) = 2x + 4y + 2z + 2 >= x = x min(l(x)) = 2x + 4 >= x = x min(n(x,y,z)) = 2x + 4y + 2z + 6 >= y + 4 = min(y) max(l(x)) = 10x + 2 >= x = x max(n(x,y,z)) = 10x + 20y + 10z + 12 >= 5z + 2 = max(z) bs(l(x)) = 4x >= 0 = true() bs(n(x,y,z)) = 4x + 8y + 4z + 4 >= 0 = and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) size(l(x)) = 8x + 2 >= 2 = 1(#()) size(n(x,y,z)) = 8x + 16y + 8z + 10 >= 4x + 4y + 6 = +(+(size(x),size(y)),1(#())) wb(l(x)) = 14x + 4 >= 0 = true() wb(n(x,y,z)) = 14x + 28y + 14z + 18 >= 16 = and(if(ge(size(y),size(z)),ge(1(#()),-(size(y),size(z))),ge(1(#()),-( size(z), size (y)))), and(wb(y),wb(z))) problem: DPs: -#(0(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))) Matrix Interpretation Processor: dim=1 interpretation: [-#](x0, x1) = x0, [wb](x0) = 3x0 + 4, [size](x0) = x0, [bs](x0) = 4x0 + 3, [max](x0) = 2x0 + 4, [min](x0) = 2x0, [n](x0, x1, x2) = x0 + 6x1 + 4x2 + 4, [val](x0) = 4x0 + 5, [l](x0) = x0 + 4, [ge](x0, x1) = 4x1 + 1, [if](x0, x1, x2) = 4x1 + 3x2, [and](x0, x1) = x0 + 1, [true] = 1, [not](x0) = 5, [false] = 0, [-](x0, x1) = x0, [1](x0) = x0 + 1, [+](x0, x1) = x0 + 2x1, [0](x0) = x0 + 1, [#] = 0 orientation: -#(0(x),1(y)) = x + 1 >= x = -#(-(x,y),1(#())) 0(#()) = 1 >= 0 = #() +(x,#()) = x >= x = x +(#(),x) = 2x >= x = x +(0(x),0(y)) = x + 2y + 3 >= x + 2y + 1 = 0(+(x,y)) +(0(x),1(y)) = x + 2y + 3 >= x + 2y + 1 = 1(+(x,y)) +(1(x),0(y)) = x + 2y + 3 >= x + 2y + 1 = 1(+(x,y)) +(1(x),1(y)) = x + 2y + 3 >= x + 2y + 3 = 0(+(+(x,y),1(#()))) +(x,+(y,z)) = x + 2y + 4z >= x + 2y + 2z = +(+(x,y),z) -(x,#()) = x >= x = x -(#(),x) = 0 >= 0 = #() -(0(x),0(y)) = x + 1 >= x + 1 = 0(-(x,y)) -(0(x),1(y)) = x + 1 >= x + 1 = 1(-(-(x,y),1(#()))) -(1(x),0(y)) = x + 1 >= x + 1 = 1(-(x,y)) -(1(x),1(y)) = x + 1 >= x + 1 = 0(-(x,y)) not(false()) = 5 >= 1 = true() not(true()) = 5 >= 0 = false() and(x,true()) = x + 1 >= x = x and(x,false()) = x + 1 >= 0 = false() if(true(),x,y) = 4x + 3y >= x = x if(false(),x,y) = 4x + 3y >= y = y ge(0(x),0(y)) = 4y + 5 >= 4y + 1 = ge(x,y) ge(0(x),1(y)) = 4y + 5 >= 5 = not(ge(y,x)) ge(1(x),0(y)) = 4y + 5 >= 4y + 1 = ge(x,y) ge(1(x),1(y)) = 4y + 5 >= 4y + 1 = ge(x,y) ge(x,#()) = 1 >= 1 = true() ge(#(),1(x)) = 4x + 5 >= 0 = false() ge(#(),0(x)) = 4x + 5 >= 4x + 1 = ge(#(),x) val(l(x)) = 4x + 21 >= x = x val(n(x,y,z)) = 4x + 24y + 16z + 21 >= x = x min(l(x)) = 2x + 8 >= x = x min(n(x,y,z)) = 2x + 12y + 8z + 8 >= 2y = min(y) max(l(x)) = 2x + 12 >= x = x max(n(x,y,z)) = 2x + 12y + 8z + 12 >= 2z + 4 = max(z) bs(l(x)) = 4x + 19 >= 1 = true() bs(n(x,y,z)) = 4x + 24y + 16z + 19 >= 8y + 19 = and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) size(l(x)) = x + 4 >= 1 = 1(#()) size(n(x,y,z)) = x + 6y + 4z + 4 >= x + 2y + 2 = +(+(size(x),size(y)),1(#())) wb(l(x)) = 3x + 16 >= 1 = true() wb(n(x,y,z)) = 3x + 18y + 12z + 16 >= 16y + 12z + 8 = and(if(ge(size(y),size(z)),ge(1(#()),-(size(y),size(z))),ge(1(#()),-( size(z), size (y)))), and(wb(y),wb(z))) 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