MAYBE Problem: app(app(app(fold(),f),nil()),x) -> x app(app(app(fold(),f),app(app(cons(),h),t)),x) -> app(app(app(fold(),f),t),app(app(f,x),h)) app(sum(),l) -> app(app(app(fold(),add()),l),0()) app(app(app(fold(),mul()),l),1()) -> app(prod(),l) Proof: DP Processor: DPs: app#(app(app(fold(),f),app(app(cons(),h),t)),x) -> app#(f,x) app#(app(app(fold(),f),app(app(cons(),h),t)),x) -> app#(app(f,x),h) app#(app(app(fold(),f),app(app(cons(),h),t)),x) -> app#(app(fold(),f),t) app#(app(app(fold(),f),app(app(cons(),h),t)),x) -> app#(app(app(fold(),f),t),app(app(f,x),h)) app#(sum(),l) -> app#(fold(),add()) app#(sum(),l) -> app#(app(fold(),add()),l) app#(sum(),l) -> app#(app(app(fold(),add()),l),0()) app#(app(app(fold(),mul()),l),1()) -> app#(prod(),l) TRS: app(app(app(fold(),f),nil()),x) -> x app(app(app(fold(),f),app(app(cons(),h),t)),x) -> app(app(app(fold(),f),t),app(app(f,x),h)) app(sum(),l) -> app(app(app(fold(),add()),l),0()) app(app(app(fold(),mul()),l),1()) -> app(prod(),l) Open