YES Problem: app(nil(),xs) -> nil() app(cons(x,xs),ys) -> cons(x,app(xs,ys)) Proof: DP Processor: DPs: app#(cons(x,xs),ys) -> app#(xs,ys) TRS: app(nil(),xs) -> nil() app(cons(x,xs),ys) -> cons(x,app(xs,ys)) Usable Rule Processor: DPs: app#(cons(x,xs),ys) -> app#(xs,ys) TRS: Restore Modifier: DPs: app#(cons(x,xs),ys) -> app#(xs,ys) TRS: app(nil(),xs) -> nil() app(cons(x,xs),ys) -> cons(x,app(xs,ys)) SCC Processor: #sccs: 1 #rules: 1 #arcs: 1/1 DPs: app#(cons(x,xs),ys) -> app#(xs,ys) TRS: app(nil(),xs) -> nil() app(cons(x,xs),ys) -> cons(x,app(xs,ys)) Matrix Interpretation Processor: dimension: 1 interpretation: [app#](x0, x1) = x0, [cons](x0, x1) = x1 + 1, [app](x0, x1) = x0, [nil] = 0 orientation: app#(cons(x,xs),ys) = xs + 1 >= xs = app#(xs,ys) app(nil(),xs) = 0 >= 0 = nil() app(cons(x,xs),ys) = xs + 1 >= xs + 1 = cons(x,app(xs,ys)) problem: DPs: TRS: app(nil(),xs) -> nil() app(cons(x,xs),ys) -> cons(x,app(xs,ys)) Qed