YES Problem: ++(nil(),y) -> y ++(x,nil()) -> x ++(.(x,y),z) -> .(x,++(y,z)) ++(++(x,y),z) -> ++(x,++(y,z)) Proof: DP Processor: DPs: ++#(.(x,y),z) -> ++#(y,z) ++#(++(x,y),z) -> ++#(y,z) ++#(++(x,y),z) -> ++#(x,++(y,z)) TRS: ++(nil(),y) -> y ++(x,nil()) -> x ++(.(x,y),z) -> .(x,++(y,z)) ++(++(x,y),z) -> ++(x,++(y,z)) KBO Processor: argument filtering: pi(nil) = [] pi(++) = [0,1] pi(.) = [0,1] pi(++#) = 0 usable rules: weight function: w0 = 1 w(++#) = w(.) = w(++) = w(nil) = 1 precedence: ++# ~ . ~ ++ ~ nil problem: DPs: TRS: ++(nil(),y) -> y ++(x,nil()) -> x ++(.(x,y),z) -> .(x,++(y,z)) ++(++(x,y),z) -> ++(x,++(y,z)) Qed