MAYBE Problem: le(s(x),0()) -> false() le(0(),y) -> true() le(s(x),s(y)) -> le(x,y) double(0()) -> 0() double(s(x)) -> s(s(double(x))) log(0()) -> logError() log(s(x)) -> loop(s(x),s(0()),0()) loop(x,s(y),z) -> if(le(x,s(y)),x,s(y),z) if(true(),x,y,z) -> z if(false(),x,y,z) -> loop(x,double(y),s(z)) Proof: DP Processor: DPs: le#(s(x),s(y)) -> le#(x,y) double#(s(x)) -> double#(x) log#(s(x)) -> loop#(s(x),s(0()),0()) loop#(x,s(y),z) -> le#(x,s(y)) loop#(x,s(y),z) -> if#(le(x,s(y)),x,s(y),z) if#(false(),x,y,z) -> double#(y) if#(false(),x,y,z) -> loop#(x,double(y),s(z)) TRS: le(s(x),0()) -> false() le(0(),y) -> true() le(s(x),s(y)) -> le(x,y) double(0()) -> 0() double(s(x)) -> s(s(double(x))) log(0()) -> logError() log(s(x)) -> loop(s(x),s(0()),0()) loop(x,s(y),z) -> if(le(x,s(y)),x,s(y),z) if(true(),x,y,z) -> z if(false(),x,y,z) -> loop(x,double(y),s(z)) TDG Processor: DPs: le#(s(x),s(y)) -> le#(x,y) double#(s(x)) -> double#(x) log#(s(x)) -> loop#(s(x),s(0()),0()) loop#(x,s(y),z) -> le#(x,s(y)) loop#(x,s(y),z) -> if#(le(x,s(y)),x,s(y),z) if#(false(),x,y,z) -> double#(y) if#(false(),x,y,z) -> loop#(x,double(y),s(z)) TRS: le(s(x),0()) -> false() le(0(),y) -> true() le(s(x),s(y)) -> le(x,y) double(0()) -> 0() double(s(x)) -> s(s(double(x))) log(0()) -> logError() log(s(x)) -> loop(s(x),s(0()),0()) loop(x,s(y),z) -> if(le(x,s(y)),x,s(y),z) if(true(),x,y,z) -> z if(false(),x,y,z) -> loop(x,double(y),s(z)) graph: if#(false(),x,y,z) -> loop#(x,double(y),s(z)) -> loop#(x,s(y),z) -> if#(le(x,s(y)),x,s(y),z) if#(false(),x,y,z) -> loop#(x,double(y),s(z)) -> loop#(x,s(y),z) -> le#(x,s(y)) if#(false(),x,y,z) -> double#(y) -> double#(s(x)) -> double#(x) loop#(x,s(y),z) -> if#(le(x,s(y)),x,s(y),z) -> if#(false(),x,y,z) -> loop#(x,double(y),s(z)) loop#(x,s(y),z) -> if#(le(x,s(y)),x,s(y),z) -> if#(false(),x,y,z) -> double#(y) loop#(x,s(y),z) -> le#(x,s(y)) -> le#(s(x),s(y)) -> le#(x,y) log#(s(x)) -> loop#(s(x),s(0()),0()) -> loop#(x,s(y),z) -> if#(le(x,s(y)),x,s(y),z) log#(s(x)) -> loop#(s(x),s(0()),0()) -> loop#(x,s(y),z) -> le#(x,s(y)) double#(s(x)) -> double#(x) -> double#(s(x)) -> double#(x) le#(s(x),s(y)) -> le#(x,y) -> le#(s(x),s(y)) -> le#(x,y) SCC Processor: #sccs: 3 #rules: 4 #arcs: 10/49 DPs: if#(false(),x,y,z) -> loop#(x,double(y),s(z)) loop#(x,s(y),z) -> if#(le(x,s(y)),x,s(y),z) TRS: le(s(x),0()) -> false() le(0(),y) -> true() le(s(x),s(y)) -> le(x,y) double(0()) -> 0() double(s(x)) -> s(s(double(x))) log(0()) -> logError() log(s(x)) -> loop(s(x),s(0()),0()) loop(x,s(y),z) -> if(le(x,s(y)),x,s(y),z) if(true(),x,y,z) -> z if(false(),x,y,z) -> loop(x,double(y),s(z)) Open DPs: double#(s(x)) -> double#(x) TRS: le(s(x),0()) -> false() le(0(),y) -> true() le(s(x),s(y)) -> le(x,y) double(0()) -> 0() double(s(x)) -> s(s(double(x))) log(0()) -> logError() log(s(x)) -> loop(s(x),s(0()),0()) loop(x,s(y),z) -> if(le(x,s(y)),x,s(y),z) if(true(),x,y,z) -> z if(false(),x,y,z) -> loop(x,double(y),s(z)) Subterm Criterion Processor: simple projection: pi(double#) = 0 problem: DPs: TRS: le(s(x),0()) -> false() le(0(),y) -> true() le(s(x),s(y)) -> le(x,y) double(0()) -> 0() double(s(x)) -> s(s(double(x))) log(0()) -> logError() log(s(x)) -> loop(s(x),s(0()),0()) loop(x,s(y),z) -> if(le(x,s(y)),x,s(y),z) if(true(),x,y,z) -> z if(false(),x,y,z) -> loop(x,double(y),s(z)) Qed DPs: le#(s(x),s(y)) -> le#(x,y) TRS: le(s(x),0()) -> false() le(0(),y) -> true() le(s(x),s(y)) -> le(x,y) double(0()) -> 0() double(s(x)) -> s(s(double(x))) log(0()) -> logError() log(s(x)) -> loop(s(x),s(0()),0()) loop(x,s(y),z) -> if(le(x,s(y)),x,s(y),z) if(true(),x,y,z) -> z if(false(),x,y,z) -> loop(x,double(y),s(z)) Subterm Criterion Processor: simple projection: pi(le#) = 1 problem: DPs: TRS: le(s(x),0()) -> false() le(0(),y) -> true() le(s(x),s(y)) -> le(x,y) double(0()) -> 0() double(s(x)) -> s(s(double(x))) log(0()) -> logError() log(s(x)) -> loop(s(x),s(0()),0()) loop(x,s(y),z) -> if(le(x,s(y)),x,s(y),z) if(true(),x,y,z) -> z if(false(),x,y,z) -> loop(x,double(y),s(z)) Qed