/export/starexec/sandbox/solver/bin/starexec_run_default /export/starexec/sandbox/benchmark/theBenchmark.xml /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES Problem 1: (VAR v_NonEmpty:S x:S y:S z:S) (RULES +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ) Problem 1: Dependency Pairs Processor: -> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(+(x:S,y:S),z:S) -> +#(y:S,z:S) +#(0(x:S),0(y:S)) -> +#(x:S,y:S) +#(0(x:S),0(y:S)) -> 0#(+(x:S,y:S)) +#(0(x:S),1(y:S)) -> +#(x:S,y:S) +#(1(x:S),0(y:S)) -> +#(x:S,y:S) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) +#(1(x:S),1(y:S)) -> 0#(+(+(x:S,y:S),1(#))) -#(0(x:S),0(y:S)) -> -#(x:S,y:S) -#(0(x:S),0(y:S)) -> 0#(-(x:S,y:S)) -#(0(x:S),1(y:S)) -> -#(-(x:S,y:S),1(#)) -#(0(x:S),1(y:S)) -> -#(x:S,y:S) -#(1(x:S),0(y:S)) -> -#(x:S,y:S) -#(1(x:S),1(y:S)) -> -#(x:S,y:S) -#(1(x:S),1(y:S)) -> 0#(-(x:S,y:S)) GE(0(x:S),0(y:S)) -> GE(x:S,y:S) GE(0(x:S),1(y:S)) -> GE(y:S,x:S) GE(0(x:S),1(y:S)) -> NOT(ge(y:S,x:S)) GE(#,0(x:S)) -> GE(#,x:S) GE(1(x:S),0(y:S)) -> GE(x:S,y:S) GE(1(x:S),1(y:S)) -> GE(x:S,y:S) LOG(x:S) -> -#(log'(x:S),1(#)) LOG(x:S) -> LOG'(x:S) LOG'(0(x:S)) -> +#(log'(x:S),1(#)) LOG'(0(x:S)) -> GE(x:S,1(#)) LOG'(0(x:S)) -> IF(ge(x:S,1(#)),+(log'(x:S),1(#)),#) LOG'(0(x:S)) -> LOG'(x:S) LOG'(1(x:S)) -> +#(log'(x:S),1(#)) LOG'(1(x:S)) -> LOG'(x:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse Problem 1: SCC Processor: -> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(+(x:S,y:S),z:S) -> +#(y:S,z:S) +#(0(x:S),0(y:S)) -> +#(x:S,y:S) +#(0(x:S),0(y:S)) -> 0#(+(x:S,y:S)) +#(0(x:S),1(y:S)) -> +#(x:S,y:S) +#(1(x:S),0(y:S)) -> +#(x:S,y:S) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) +#(1(x:S),1(y:S)) -> 0#(+(+(x:S,y:S),1(#))) -#(0(x:S),0(y:S)) -> -#(x:S,y:S) -#(0(x:S),0(y:S)) -> 0#(-(x:S,y:S)) -#(0(x:S),1(y:S)) -> -#(-(x:S,y:S),1(#)) -#(0(x:S),1(y:S)) -> -#(x:S,y:S) -#(1(x:S),0(y:S)) -> -#(x:S,y:S) -#(1(x:S),1(y:S)) -> -#(x:S,y:S) -#(1(x:S),1(y:S)) -> 0#(-(x:S,y:S)) GE(0(x:S),0(y:S)) -> GE(x:S,y:S) GE(0(x:S),1(y:S)) -> GE(y:S,x:S) GE(0(x:S),1(y:S)) -> NOT(ge(y:S,x:S)) GE(#,0(x:S)) -> GE(#,x:S) GE(1(x:S),0(y:S)) -> GE(x:S,y:S) GE(1(x:S),1(y:S)) -> GE(x:S,y:S) LOG(x:S) -> -#(log'(x:S),1(#)) LOG(x:S) -> LOG'(x:S) LOG'(0(x:S)) -> +#(log'(x:S),1(#)) LOG'(0(x:S)) -> GE(x:S,1(#)) LOG'(0(x:S)) -> IF(ge(x:S,1(#)),+(log'(x:S),1(#)),#) LOG'(0(x:S)) -> LOG'(x:S) LOG'(1(x:S)) -> +#(log'(x:S),1(#)) LOG'(1(x:S)) -> LOG'(x:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: GE(#,0(x:S)) -> GE(#,x:S) ->->-> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->->Cycle: ->->-> Pairs: GE(0(x:S),0(y:S)) -> GE(x:S,y:S) GE(0(x:S),1(y:S)) -> GE(y:S,x:S) GE(1(x:S),0(y:S)) -> GE(x:S,y:S) GE(1(x:S),1(y:S)) -> GE(x:S,y:S) ->->-> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->->Cycle: ->->-> Pairs: -#(0(x:S),0(y:S)) -> -#(x:S,y:S) -#(0(x:S),1(y:S)) -> -#(-(x:S,y:S),1(#)) -#(0(x:S),1(y:S)) -> -#(x:S,y:S) -#(1(x:S),0(y:S)) -> -#(x:S,y:S) -#(1(x:S),1(y:S)) -> -#(x:S,y:S) ->->-> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->->Cycle: ->->-> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(+(x:S,y:S),z:S) -> +#(y:S,z:S) +#(0(x:S),0(y:S)) -> +#(x:S,y:S) +#(0(x:S),1(y:S)) -> +#(x:S,y:S) +#(1(x:S),0(y:S)) -> +#(x:S,y:S) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) ->->-> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->->Cycle: ->->-> Pairs: LOG'(0(x:S)) -> LOG'(x:S) LOG'(1(x:S)) -> LOG'(x:S) ->->-> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse The problem is decomposed in 5 subproblems. Problem 1.1: Subterm Processor: -> Pairs: GE(#,0(x:S)) -> GE(#,x:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Projection: pi(GE) = 2 Problem 1.1: SCC Processor: -> Pairs: Empty -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.2: Reduction Pair Processor: -> Pairs: GE(0(x:S),0(y:S)) -> GE(x:S,y:S) GE(0(x:S),1(y:S)) -> GE(y:S,x:S) GE(1(x:S),0(y:S)) -> GE(x:S,y:S) GE(1(x:S),1(y:S)) -> GE(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse -> Usable rules: Empty ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [0](X) = 2.X + 2 [1](X) = X [GE](X1,X2) = X1 + 2.X2 Problem 1.2: SCC Processor: -> Pairs: GE(0(x:S),1(y:S)) -> GE(y:S,x:S) GE(1(x:S),0(y:S)) -> GE(x:S,y:S) GE(1(x:S),1(y:S)) -> GE(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: GE(0(x:S),1(y:S)) -> GE(y:S,x:S) GE(1(x:S),0(y:S)) -> GE(x:S,y:S) GE(1(x:S),1(y:S)) -> GE(x:S,y:S) ->->-> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse Problem 1.2: Reduction Pair Processor: -> Pairs: GE(0(x:S),1(y:S)) -> GE(y:S,x:S) GE(1(x:S),0(y:S)) -> GE(x:S,y:S) GE(1(x:S),1(y:S)) -> GE(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse -> 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.2: SCC Processor: -> Pairs: GE(1(x:S),0(y:S)) -> GE(x:S,y:S) GE(1(x:S),1(y:S)) -> GE(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: GE(1(x:S),0(y:S)) -> GE(x:S,y:S) GE(1(x:S),1(y:S)) -> GE(x:S,y:S) ->->-> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse Problem 1.2: Subterm Processor: -> Pairs: GE(1(x:S),0(y:S)) -> GE(x:S,y:S) GE(1(x:S),1(y:S)) -> GE(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Projection: pi(GE) = 1 Problem 1.2: SCC Processor: -> Pairs: Empty -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.3: Reduction Pair Processor: -> Pairs: -#(0(x:S),0(y:S)) -> -#(x:S,y:S) -#(0(x:S),1(y:S)) -> -#(-(x:S,y:S),1(#)) -#(0(x:S),1(y:S)) -> -#(x:S,y:S) -#(1(x:S),0(y:S)) -> -#(x:S,y:S) -#(1(x:S),1(y:S)) -> -#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse -> Usable rules: -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [-](X1,X2) = X1 [0](X) = 2.X + 2 [#] = 1 [1](X) = 2.X + 2 [-#](X1,X2) = 2.X1 + 2.X2 Problem 1.3: SCC Processor: -> Pairs: -#(0(x:S),1(y:S)) -> -#(-(x:S,y:S),1(#)) -#(0(x:S),1(y:S)) -> -#(x:S,y:S) -#(1(x:S),0(y:S)) -> -#(x:S,y:S) -#(1(x:S),1(y:S)) -> -#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: -#(0(x:S),1(y:S)) -> -#(-(x:S,y:S),1(#)) -#(0(x:S),1(y:S)) -> -#(x:S,y:S) -#(1(x:S),0(y:S)) -> -#(x:S,y:S) -#(1(x:S),1(y:S)) -> -#(x:S,y:S) ->->-> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse Problem 1.3: Reduction Pair Processor: -> Pairs: -#(0(x:S),1(y:S)) -> -#(-(x:S,y:S),1(#)) -#(0(x:S),1(y:S)) -> -#(x:S,y:S) -#(1(x:S),0(y:S)) -> -#(x:S,y:S) -#(1(x:S),1(y:S)) -> -#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse -> Usable rules: -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 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.3: SCC Processor: -> Pairs: -#(0(x:S),1(y:S)) -> -#(x:S,y:S) -#(1(x:S),0(y:S)) -> -#(x:S,y:S) -#(1(x:S),1(y:S)) -> -#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: -#(0(x:S),1(y:S)) -> -#(x:S,y:S) -#(1(x:S),0(y:S)) -> -#(x:S,y:S) -#(1(x:S),1(y:S)) -> -#(x:S,y:S) ->->-> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse Problem 1.3: Subterm Processor: -> Pairs: -#(0(x:S),1(y:S)) -> -#(x:S,y:S) -#(1(x:S),0(y:S)) -> -#(x:S,y:S) -#(1(x:S),1(y:S)) -> -#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Projection: pi(-#) = 1 Problem 1.3: SCC Processor: -> Pairs: Empty -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.4: Reduction Pair Processor: -> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(+(x:S,y:S),z:S) -> +#(y:S,z:S) +#(0(x:S),0(y:S)) -> +#(x:S,y:S) +#(0(x:S),1(y:S)) -> +#(x:S,y:S) +#(1(x:S),0(y:S)) -> +#(x:S,y:S) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse -> Usable rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S 0(#) -> # ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [+](X1,X2) = X1 + X2 + 1 [0](X) = X [#] = 0 [1](X) = X + 1 [+#](X1,X2) = 2.X1 + 2.X2 Problem 1.4: SCC Processor: -> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(0(x:S),0(y:S)) -> +#(x:S,y:S) +#(0(x:S),1(y:S)) -> +#(x:S,y:S) +#(1(x:S),0(y:S)) -> +#(x:S,y:S) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(0(x:S),0(y:S)) -> +#(x:S,y:S) +#(0(x:S),1(y:S)) -> +#(x:S,y:S) +#(1(x:S),0(y:S)) -> +#(x:S,y:S) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) ->->-> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse Problem 1.4: Reduction Pair Processor: -> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(0(x:S),0(y:S)) -> +#(x:S,y:S) +#(0(x:S),1(y:S)) -> +#(x:S,y:S) +#(1(x:S),0(y:S)) -> +#(x:S,y:S) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse -> Usable rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S 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) = 2.X1 + 2.X2 Problem 1.4: SCC Processor: -> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(0(x:S),1(y:S)) -> +#(x:S,y:S) +#(1(x:S),0(y:S)) -> +#(x:S,y:S) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(0(x:S),1(y:S)) -> +#(x:S,y:S) +#(1(x:S),0(y:S)) -> +#(x:S,y:S) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) ->->-> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse Problem 1.4: Reduction Pair Processor: -> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(0(x:S),1(y:S)) -> +#(x:S,y:S) +#(1(x:S),0(y:S)) -> +#(x:S,y:S) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse -> Usable rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S 0(#) -> # ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [+](X1,X2) = X1 + X2 + 2 [0](X) = X [#] = 0 [1](X) = X + 2 [+#](X1,X2) = 2.X1 + 2.X2 Problem 1.4: SCC Processor: -> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(1(x:S),0(y:S)) -> +#(x:S,y:S) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(1(x:S),0(y:S)) -> +#(x:S,y:S) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) ->->-> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse Problem 1.4: Reduction Pair Processor: -> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(1(x:S),0(y:S)) -> +#(x:S,y:S) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse -> Usable rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S 0(#) -> # ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [+](X1,X2) = X1 + X2 + 2 [0](X) = X [#] = 0 [1](X) = X + 2 [+#](X1,X2) = 2.X1 + 2.X2 Problem 1.4: SCC Processor: -> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) ->->-> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse Problem 1.4: Reduction Pair Processor: -> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(1(x:S),1(y:S)) -> +#(+(x:S,y:S),1(#)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse -> Usable rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S 0(#) -> # ->Interpretation type: Linear ->Coefficients: Natural Numbers ->Dimension: 1 ->Bound: 2 ->Interpretation: [+](X1,X2) = X1 + X2 [0](X) = X + 1 [#] = 1 [1](X) = X + 2 [+#](X1,X2) = X1 + X2 Problem 1.4: SCC Processor: -> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Strongly Connected Components: ->->Cycle: ->->-> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) ->->-> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse Problem 1.4: Subterm Processor: -> Pairs: +#(+(x:S,y:S),z:S) -> +#(x:S,+(y:S,z:S)) +#(1(x:S),1(y:S)) -> +#(x:S,y:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Projection: pi(+#) = 1 Problem 1.4: SCC Processor: -> Pairs: Empty -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Strongly Connected Components: There is no strongly connected component The problem is finite. Problem 1.5: Subterm Processor: -> Pairs: LOG'(0(x:S)) -> LOG'(x:S) LOG'(1(x:S)) -> LOG'(x:S) -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Projection: pi(LOG') = 1 Problem 1.5: SCC Processor: -> Pairs: Empty -> Rules: +(+(x:S,y:S),z:S) -> +(x:S,+(y:S,z:S)) +(0(x:S),0(y:S)) -> 0(+(x:S,y:S)) +(0(x:S),1(y:S)) -> 1(+(x:S,y:S)) +(#,x:S) -> x:S +(1(x:S),0(y:S)) -> 1(+(x:S,y:S)) +(1(x:S),1(y:S)) -> 0(+(+(x:S,y:S),1(#))) +(x:S,#) -> x:S -(0(x:S),0(y:S)) -> 0(-(x:S,y:S)) -(0(x:S),1(y:S)) -> 1(-(-(x:S,y:S),1(#))) -(#,x:S) -> # -(1(x:S),0(y:S)) -> 1(-(x:S,y:S)) -(1(x:S),1(y:S)) -> 0(-(x:S,y:S)) -(x:S,#) -> x:S 0(#) -> # ge(0(x:S),0(y:S)) -> ge(x:S,y:S) ge(0(x:S),1(y:S)) -> not(ge(y:S,x:S)) ge(#,0(x:S)) -> ge(#,x:S) ge(#,1(x:S)) -> ffalse ge(1(x:S),0(y:S)) -> ge(x:S,y:S) ge(1(x:S),1(y:S)) -> ge(x:S,y:S) ge(x:S,#) -> ttrue if(ffalse,x:S,y:S) -> y:S if(ttrue,x:S,y:S) -> x:S log(x:S) -> -(log'(x:S),1(#)) log'(0(x:S)) -> if(ge(x:S,1(#)),+(log'(x:S),1(#)),#) log'(#) -> # log'(1(x:S)) -> +(log'(x:S),1(#)) not(ffalse) -> ttrue not(ttrue) -> ffalse ->Strongly Connected Components: There is no strongly connected component The problem is finite.