YES Problem: double(0()) -> 0() double(s(x)) -> s(s(double(x))) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) +(s(x),y) -> s(+(x,y)) double(x) -> +(x,x) Proof: DP Processor: DPs: double#(s(x)) -> double#(x) +#(x,s(y)) -> +#(x,y) +#(s(x),y) -> +#(x,y) double#(x) -> +#(x,x) TRS: double(0()) -> 0() double(s(x)) -> s(s(double(x))) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) +(s(x),y) -> s(+(x,y)) double(x) -> +(x,x) TDG Processor: DPs: double#(s(x)) -> double#(x) +#(x,s(y)) -> +#(x,y) +#(s(x),y) -> +#(x,y) double#(x) -> +#(x,x) TRS: double(0()) -> 0() double(s(x)) -> s(s(double(x))) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) +(s(x),y) -> s(+(x,y)) double(x) -> +(x,x) graph: +#(s(x),y) -> +#(x,y) -> +#(s(x),y) -> +#(x,y) +#(s(x),y) -> +#(x,y) -> +#(x,s(y)) -> +#(x,y) +#(x,s(y)) -> +#(x,y) -> +#(s(x),y) -> +#(x,y) +#(x,s(y)) -> +#(x,y) -> +#(x,s(y)) -> +#(x,y) double#(s(x)) -> double#(x) -> double#(x) -> +#(x,x) double#(s(x)) -> double#(x) -> double#(s(x)) -> double#(x) double#(x) -> +#(x,x) -> +#(s(x),y) -> +#(x,y) double#(x) -> +#(x,x) -> +#(x,s(y)) -> +#(x,y) SCC Processor: #sccs: 2 #rules: 3 #arcs: 8/16 DPs: double#(s(x)) -> double#(x) TRS: double(0()) -> 0() double(s(x)) -> s(s(double(x))) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) +(s(x),y) -> s(+(x,y)) double(x) -> +(x,x) Subterm Criterion Processor: simple projection: pi(double#) = 0 problem: DPs: TRS: double(0()) -> 0() double(s(x)) -> s(s(double(x))) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) +(s(x),y) -> s(+(x,y)) double(x) -> +(x,x) Qed DPs: +#(s(x),y) -> +#(x,y) +#(x,s(y)) -> +#(x,y) TRS: double(0()) -> 0() double(s(x)) -> s(s(double(x))) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) +(s(x),y) -> s(+(x,y)) double(x) -> +(x,x) Subterm Criterion Processor: simple projection: pi(+#) = 1 problem: DPs: +#(s(x),y) -> +#(x,y) TRS: double(0()) -> 0() double(s(x)) -> s(s(double(x))) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) +(s(x),y) -> s(+(x,y)) double(x) -> +(x,x) Subterm Criterion Processor: simple projection: pi(+#) = 0 problem: DPs: TRS: double(0()) -> 0() double(s(x)) -> s(s(double(x))) +(x,0()) -> x +(x,s(y)) -> s(+(x,y)) +(s(x),y) -> s(+(x,y)) double(x) -> +(x,x) Qed