YES Problem: merge(x,nil()) -> x merge(nil(),y) -> y merge(++(x,y),++(u(),v())) -> ++(x,merge(y,++(u(),v()))) merge(++(x,y),++(u(),v())) -> ++(u(),merge(++(x,y),v())) Proof: DP Processor: DPs: merge#(++(x,y),++(u(),v())) -> merge#(y,++(u(),v())) merge#(++(x,y),++(u(),v())) -> merge#(++(x,y),v()) TRS: merge(x,nil()) -> x merge(nil(),y) -> y merge(++(x,y),++(u(),v())) -> ++(x,merge(y,++(u(),v()))) merge(++(x,y),++(u(),v())) -> ++(u(),merge(++(x,y),v())) Subterm Criterion Processor: simple projection: pi(merge#) = 1 problem: DPs: merge#(++(x,y),++(u(),v())) -> merge#(y,++(u(),v())) TRS: merge(x,nil()) -> x merge(nil(),y) -> y merge(++(x,y),++(u(),v())) -> ++(x,merge(y,++(u(),v()))) merge(++(x,y),++(u(),v())) -> ++(u(),merge(++(x,y),v())) Subterm Criterion Processor: simple projection: pi(merge#) = 0 problem: DPs: TRS: merge(x,nil()) -> x merge(nil(),y) -> y merge(++(x,y),++(u(),v())) -> ++(x,merge(y,++(u(),v()))) merge(++(x,y),++(u(),v())) -> ++(u(),merge(++(x,y),v())) Qed