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())) EDG 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())) graph: merge#(++(x,y),++(u(),v())) -> merge#(y,++(u(),v())) -> merge#(++(x,y),++(u(),v())) -> merge#(y,++(u(),v())) merge#(++(x,y),++(u(),v())) -> merge#(y,++(u(),v())) -> merge#(++(x,y),++(u(),v())) -> merge#(++(x,y),v()) CDG 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())) graph: Qed