/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Problem 1: (VAR x y z) (RULES +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ) Problem 1: Dependency Pairs Processor: -> Pairs: +#(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(#)) +#(1(x),1(y)) -> +#(x,y) +#(1(x),1(y)) -> 0#(+(+(x,y),1(#))) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) -#(0(x),0(y)) -> -#(x,y) -#(0(x),0(y)) -> 0#(-(x,y)) -#(0(x),1(y)) -> -#(-(x,y),1(#)) -#(0(x),1(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) -#(1(x),1(y)) -> 0#(-(x,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)) -> AND(bs(y),bs(z)) 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)) -> BS(z) BS(n(x,y,z)) -> GE(min(z),x) BS(n(x,y,z)) -> GE(x,max(y)) BS(n(x,y,z)) -> MAX(y) BS(n(x,y,z)) -> MIN(z) 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(#,0(x)) -> GE(#,x) GE(1(x),0(y)) -> GE(x,y) GE(1(x),1(y)) -> GE(x,y) MAX(n(x,y,z)) -> MAX(z) MIN(n(x,y,z)) -> MIN(y) SIZE(n(x,y,z)) -> +#(+(size(x),size(y)),1(#)) SIZE(n(x,y,z)) -> +#(size(x),size(y)) SIZE(n(x,y,z)) -> SIZE(x) SIZE(n(x,y,z)) -> SIZE(y) WB(n(x,y,z)) -> -#(size(y),size(z)) WB(n(x,y,z)) -> -#(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))) WB(n(x,y,z)) -> AND(wb(y),wb(z)) WB(n(x,y,z)) -> GE(size(y),size(z)) WB(n(x,y,z)) -> GE(1(#),-(size(y),size(z))) WB(n(x,y,z)) -> GE(1(#),-(size(z),size(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)) -> SIZE(y) WB(n(x,y,z)) -> SIZE(z) WB(n(x,y,z)) -> WB(y) WB(n(x,y,z)) -> WB(z) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) Problem 1: SCC Processor: -> Pairs: +#(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(#)) +#(1(x),1(y)) -> +#(x,y) +#(1(x),1(y)) -> 0#(+(+(x,y),1(#))) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) -#(0(x),0(y)) -> -#(x,y) -#(0(x),0(y)) -> 0#(-(x,y)) -#(0(x),1(y)) -> -#(-(x,y),1(#)) -#(0(x),1(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) -#(1(x),1(y)) -> 0#(-(x,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)) -> AND(bs(y),bs(z)) 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)) -> BS(z) BS(n(x,y,z)) -> GE(min(z),x) BS(n(x,y,z)) -> GE(x,max(y)) BS(n(x,y,z)) -> MAX(y) BS(n(x,y,z)) -> MIN(z) 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(#,0(x)) -> GE(#,x) GE(1(x),0(y)) -> GE(x,y) GE(1(x),1(y)) -> GE(x,y) MAX(n(x,y,z)) -> MAX(z) MIN(n(x,y,z)) -> MIN(y) SIZE(n(x,y,z)) -> +#(+(size(x),size(y)),1(#)) SIZE(n(x,y,z)) -> +#(size(x),size(y)) SIZE(n(x,y,z)) -> SIZE(x) SIZE(n(x,y,z)) -> SIZE(y) WB(n(x,y,z)) -> -#(size(y),size(z)) WB(n(x,y,z)) -> -#(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))) WB(n(x,y,z)) -> AND(wb(y),wb(z)) WB(n(x,y,z)) -> GE(size(y),size(z)) WB(n(x,y,z)) -> GE(1(#),-(size(y),size(z))) WB(n(x,y,z)) -> GE(1(#),-(size(z),size(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)) -> SIZE(y) WB(n(x,y,z)) -> SIZE(z) WB(n(x,y,z)) -> WB(y) WB(n(x,y,z)) -> WB(z) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: MIN(n(x,y,z)) -> MIN(y) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->->Cycle: ->->-> Pairs: MAX(n(x,y,z)) -> MAX(z) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->->Cycle: ->->-> Pairs: GE(#,0(x)) -> GE(#,x) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->->Cycle: ->->-> Pairs: 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) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->->Cycle: ->->-> Pairs: BS(n(x,y,z)) -> BS(y) BS(n(x,y,z)) -> BS(z) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->->Cycle: ->->-> Pairs: -#(0(x),0(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(-(x,y),1(#)) -#(0(x),1(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->->Cycle: ->->-> Pairs: +#(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(#)) +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->->Cycle: ->->-> Pairs: SIZE(n(x,y,z)) -> SIZE(x) SIZE(n(x,y,z)) -> SIZE(y) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->->Cycle: ->->-> Pairs: WB(n(x,y,z)) -> WB(y) WB(n(x,y,z)) -> WB(z) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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 problem is decomposed in 9 subproblems. Problem 1.1: Subterm Processor: -> Pairs: MIN(n(x,y,z)) -> MIN(y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Projection: pi(MIN) = 1 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Subterm Processor: -> Pairs: MAX(n(x,y,z)) -> MAX(z) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Projection: pi(MAX) = 1 Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.3: Subterm Processor: -> Pairs: GE(#,0(x)) -> GE(#,x) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Projection: pi(GE) = 2 Problem 1.3: SCC Processor: -> Pairs: Empty -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.4: Reduction Pair Processor: -> Pairs: 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) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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 rules: Empty ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = 2.X + 1 [1](X) = 2.X [GE](X1,X2) = 2.X1 + 2.X2 Problem 1.4: SCC Processor: -> Pairs: GE(0(x),1(y)) -> GE(y,x) GE(1(x),0(y)) -> GE(x,y) GE(1(x),1(y)) -> GE(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: GE(0(x),1(y)) -> GE(y,x) GE(1(x),0(y)) -> GE(x,y) GE(1(x),1(y)) -> GE(x,y) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) Problem 1.4: Reduction Pair Processor: -> Pairs: GE(0(x),1(y)) -> GE(y,x) GE(1(x),0(y)) -> GE(x,y) GE(1(x),1(y)) -> GE(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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 rules: Empty ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = 2.X + 2 [1](X) = 2.X [GE](X1,X2) = 2.X1 + 2.X2 Problem 1.4: SCC Processor: -> Pairs: GE(1(x),0(y)) -> GE(x,y) GE(1(x),1(y)) -> GE(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: GE(1(x),0(y)) -> GE(x,y) GE(1(x),1(y)) -> GE(x,y) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) Problem 1.4: Subterm Processor: -> Pairs: GE(1(x),0(y)) -> GE(x,y) GE(1(x),1(y)) -> GE(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Projection: pi(GE) = 1 Problem 1.4: SCC Processor: -> Pairs: Empty -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.5: Subterm Processor: -> Pairs: BS(n(x,y,z)) -> BS(y) BS(n(x,y,z)) -> BS(z) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Projection: pi(BS) = 1 Problem 1.5: SCC Processor: -> Pairs: Empty -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.6: Reduction Pair Processor: -> Pairs: -#(0(x),0(y)) -> -#(x,y) -#(0(x),1(y)) -> -#(-(x,y),1(#)) -#(0(x),1(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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 rules: -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [-](X1,X2) = X1 [0](X) = 2.X + 2 [#] = 0 [1](X) = 2.X + 2 [-#](X1,X2) = 2.X2 Problem 1.6: SCC Processor: -> Pairs: -#(0(x),1(y)) -> -#(-(x,y),1(#)) -#(0(x),1(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: -#(0(x),1(y)) -> -#(-(x,y),1(#)) -#(0(x),1(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) Problem 1.6: Reduction Pair Processor: -> Pairs: -#(0(x),1(y)) -> -#(-(x,y),1(#)) -#(0(x),1(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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 rules: -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [-](X1,X2) = X1 + X2 + 1 [0](X) = X + 2 [#] = 0 [1](X) = X + 1 [-#](X1,X2) = 2.X1 + 2.X2 Problem 1.6: SCC Processor: -> Pairs: -#(0(x),1(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: -#(0(x),1(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) Problem 1.6: Subterm Processor: -> Pairs: -#(0(x),1(y)) -> -#(x,y) -#(1(x),0(y)) -> -#(x,y) -#(1(x),1(y)) -> -#(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Projection: pi(-#) = 1 Problem 1.6: SCC Processor: -> Pairs: Empty -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.7: Reduction Pair Processor: -> Pairs: +#(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(#)) +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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 rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x 0(#) -> # ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [+](X1,X2) = X1 + X2 + 1 [0](X) = X + 1 [#] = 0 [1](X) = X + 2 [+#](X1,X2) = X1 + 2.X2 Problem 1.7: SCC Processor: -> Pairs: +#(0(x),1(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#)) +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: +#(0(x),1(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#)) +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) Problem 1.7: Reduction Pair Processor: -> Pairs: +#(0(x),1(y)) -> +#(x,y) +#(1(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#)) +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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 rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x 0(#) -> # ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [+](X1,X2) = X1 + X2 [0](X) = X [#] = 2 [1](X) = X + 2 [+#](X1,X2) = 2.X1 + 2.X2 Problem 1.7: SCC Processor: -> Pairs: +#(1(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#)) +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: +#(1(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#)) +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) Problem 1.7: Reduction Pair Processor: -> Pairs: +#(1(x),0(y)) -> +#(x,y) +#(1(x),1(y)) -> +#(+(x,y),1(#)) +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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 rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x 0(#) -> # ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [+](X1,X2) = X1 + 2.X2 [0](X) = X + 1 [#] = 0 [1](X) = X + 1 [+#](X1,X2) = X1 + 2.X2 Problem 1.7: SCC Processor: -> Pairs: +#(1(x),1(y)) -> +#(+(x,y),1(#)) +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: +#(1(x),1(y)) -> +#(+(x,y),1(#)) +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) Problem 1.7: Reduction Pair Processor: -> Pairs: +#(1(x),1(y)) -> +#(+(x,y),1(#)) +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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 rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x 0(#) -> # ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [+](X1,X2) = X1 + X2 [0](X) = 2.X [#] = 0 [1](X) = 2.X + 2 [+#](X1,X2) = 2.X1 + 2.X2 Problem 1.7: SCC Processor: -> Pairs: +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) ->->-> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) Problem 1.7: Subterm Processor: -> Pairs: +#(1(x),1(y)) -> +#(x,y) +#(x,+(y,z)) -> +#(+(x,y),z) +#(x,+(y,z)) -> +#(x,y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Projection: pi(+#) = 2 Problem 1.7: SCC Processor: -> Pairs: Empty -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.8: Subterm Processor: -> Pairs: SIZE(n(x,y,z)) -> SIZE(x) SIZE(n(x,y,z)) -> SIZE(y) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Projection: pi(SIZE) = 1 Problem 1.8: SCC Processor: -> Pairs: Empty -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.9: Subterm Processor: -> Pairs: WB(n(x,y,z)) -> WB(y) WB(n(x,y,z)) -> WB(z) -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Projection: pi(WB) = 1 Problem 1.9: SCC Processor: -> Pairs: Empty -> Rules: +(0(x),0(y)) -> 0(+(x,y)) +(0(x),1(y)) -> 1(+(x,y)) +(#,x) -> x +(1(x),0(y)) -> 1(+(x,y)) +(1(x),1(y)) -> 0(+(+(x,y),1(#))) +(x,+(y,z)) -> +(+(x,y),z) +(x,#) -> x -(0(x),0(y)) -> 0(-(x,y)) -(0(x),1(y)) -> 1(-(-(x,y),1(#))) -(#,x) -> # -(1(x),0(y)) -> 1(-(x,y)) -(1(x),1(y)) -> 0(-(x,y)) -(x,#) -> x 0(#) -> # and(x,false) -> false and(x,true) -> x bs(l(x)) -> true bs(n(x,y,z)) -> and(and(ge(x,max(y)),ge(min(z),x)),and(bs(y),bs(z))) ge(0(x),0(y)) -> ge(x,y) ge(0(x),1(y)) -> not(ge(y,x)) ge(#,0(x)) -> ge(#,x) ge(#,1(x)) -> false ge(1(x),0(y)) -> ge(x,y) ge(1(x),1(y)) -> ge(x,y) ge(x,#) -> true if(false,x,y) -> y if(true,x,y) -> x max(l(x)) -> x max(n(x,y,z)) -> max(z) min(l(x)) -> x min(n(x,y,z)) -> min(y) not(false) -> true not(true) -> false size(l(x)) -> 1(#) size(n(x,y,z)) -> +(+(size(x),size(y)),1(#)) val(l(x)) -> x val(n(x,y,z)) -> x 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))) ->Strongly Connected Components: There is no strongly connected component The problem is finite.