MAYBE Problem: app(app(app(fold(),f),x),nil()) -> x app(app(app(fold(),f),x),app(app(cons(),y),z)) -> app(app(f,y),app(app(app(fold(),f),x),z)) app(app(plus(),0()),y) -> y app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) app(app(times(),0()),y) -> 0() app(app(times(),app(s(),x)),y) -> app(app(plus(),app(app(times(),x),y)),y) sum() -> app(app(fold(),add()),0()) prod() -> app(app(fold(),mul()),app(s(),0())) Proof: DP Processor: DPs: app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) sum#() -> app#(fold(),add()) sum#() -> app#(app(fold(),add()),0()) prod#() -> app#(s(),0()) prod#() -> app#(fold(),mul()) prod#() -> app#(app(fold(),mul()),app(s(),0())) TRS: app(app(app(fold(),f),x),nil()) -> x app(app(app(fold(),f),x),app(app(cons(),y),z)) -> app(app(f,y),app(app(app(fold(),f),x),z)) app(app(plus(),0()),y) -> y app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) app(app(times(),0()),y) -> 0() app(app(times(),app(s(),x)),y) -> app(app(plus(),app(app(times(),x),y)),y) sum() -> app(app(fold(),add()),0()) prod() -> app(app(fold(),mul()),app(s(),0())) TDG Processor: DPs: app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) sum#() -> app#(fold(),add()) sum#() -> app#(app(fold(),add()),0()) prod#() -> app#(s(),0()) prod#() -> app#(fold(),mul()) prod#() -> app#(app(fold(),mul()),app(s(),0())) TRS: app(app(app(fold(),f),x),nil()) -> x app(app(app(fold(),f),x),app(app(cons(),y),z)) -> app(app(f,y),app(app(app(fold(),f),x),z)) app(app(plus(),0()),y) -> y app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) app(app(times(),0()),y) -> 0() app(app(times(),app(s(),x)),y) -> app(app(plus(),app(app(times(),x),y)),y) sum() -> app(app(fold(),add()),0()) prod() -> app(app(fold(),mul()),app(s(),0())) graph: prod#() -> app#(s(),0()) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) prod#() -> app#(s(),0()) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) prod#() -> app#(s(),0()) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) prod#() -> app#(s(),0()) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) prod#() -> app#(s(),0()) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) prod#() -> app#(s(),0()) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) prod#() -> app#(s(),0()) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) prod#() -> app#(s(),0()) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) prod#() -> app#(s(),0()) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) prod#() -> app#(s(),0()) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) prod#() -> app#(app(fold(),mul()),app(s(),0())) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) prod#() -> app#(app(fold(),mul()),app(s(),0())) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) prod#() -> app#(app(fold(),mul()),app(s(),0())) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) prod#() -> app#(app(fold(),mul()),app(s(),0())) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) prod#() -> app#(app(fold(),mul()),app(s(),0())) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) prod#() -> app#(app(fold(),mul()),app(s(),0())) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) prod#() -> app#(app(fold(),mul()),app(s(),0())) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) prod#() -> app#(app(fold(),mul()),app(s(),0())) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) prod#() -> app#(app(fold(),mul()),app(s(),0())) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) prod#() -> app#(app(fold(),mul()),app(s(),0())) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) prod#() -> app#(fold(),mul()) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) prod#() -> app#(fold(),mul()) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) prod#() -> app#(fold(),mul()) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) prod#() -> app#(fold(),mul()) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) prod#() -> app#(fold(),mul()) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) prod#() -> app#(fold(),mul()) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) prod#() -> app#(fold(),mul()) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) prod#() -> app#(fold(),mul()) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) prod#() -> app#(fold(),mul()) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) prod#() -> app#(fold(),mul()) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) sum#() -> app#(app(fold(),add()),0()) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) sum#() -> app#(app(fold(),add()),0()) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) sum#() -> app#(app(fold(),add()),0()) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) sum#() -> app#(app(fold(),add()),0()) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) sum#() -> app#(app(fold(),add()),0()) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) sum#() -> app#(app(fold(),add()),0()) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) sum#() -> app#(app(fold(),add()),0()) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) sum#() -> app#(app(fold(),add()),0()) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) sum#() -> app#(app(fold(),add()),0()) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) sum#() -> app#(app(fold(),add()),0()) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) sum#() -> app#(fold(),add()) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) sum#() -> app#(fold(),add()) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) sum#() -> app#(fold(),add()) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) sum#() -> app#(fold(),add()) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) sum#() -> app#(fold(),add()) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) sum#() -> app#(fold(),add()) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) sum#() -> app#(fold(),add()) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) sum#() -> app#(fold(),add()) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) sum#() -> app#(fold(),add()) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) sum#() -> app#(fold(),add()) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(times(),app(s(),x)),y) -> app#(times(),x) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) app#(app(times(),app(s(),x)),y) -> app#(times(),x) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(times(),app(s(),x)),y) -> app#(times(),x) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(times(),app(s(),x)),y) -> app#(times(),x) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(times(),app(s(),x)),y) -> app#(times(),x) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(times(),app(s(),x)),y) -> app#(times(),x) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(times(),app(s(),x)),y) -> app#(times(),x) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(times(),app(s(),x)),y) -> app#(times(),x) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(times(),app(s(),x)),y) -> app#(times(),x) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(times(),app(s(),x)),y) -> app#(times(),x) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) EDG Processor: DPs: app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) sum#() -> app#(fold(),add()) sum#() -> app#(app(fold(),add()),0()) prod#() -> app#(s(),0()) prod#() -> app#(fold(),mul()) prod#() -> app#(app(fold(),mul()),app(s(),0())) TRS: app(app(app(fold(),f),x),nil()) -> x app(app(app(fold(),f),x),app(app(cons(),y),z)) -> app(app(f,y),app(app(app(fold(),f),x),z)) app(app(plus(),0()),y) -> y app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) app(app(times(),0()),y) -> 0() app(app(times(),app(s(),x)),y) -> app(app(plus(),app(app(times(),x),y)),y) sum() -> app(app(fold(),add()),0()) prod() -> app(app(fold(),mul()),app(s(),0())) graph: app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(times(),app(s(),x)),y) -> app#(times(),x) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(times(),app(s(),x)),y) -> app#(plus(),app(app(times(),x),y)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) -> app#(app(times(),app(s(),x)),y) -> app#(app(plus(),app(app(times(),x),y)),y) SCC Processor: #sccs: 3 #rules: 5 #arcs: 33/225 DPs: app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(app(fold(),f),x),z) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(app(f,y),app(app(app(fold(),f),x),z)) app#(app(app(fold(),f),x),app(app(cons(),y),z)) -> app#(f,y) TRS: app(app(app(fold(),f),x),nil()) -> x app(app(app(fold(),f),x),app(app(cons(),y),z)) -> app(app(f,y),app(app(app(fold(),f),x),z)) app(app(plus(),0()),y) -> y app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) app(app(times(),0()),y) -> 0() app(app(times(),app(s(),x)),y) -> app(app(plus(),app(app(times(),x),y)),y) sum() -> app(app(fold(),add()),0()) prod() -> app(app(fold(),mul()),app(s(),0())) Open DPs: app#(app(times(),app(s(),x)),y) -> app#(app(times(),x),y) TRS: app(app(app(fold(),f),x),nil()) -> x app(app(app(fold(),f),x),app(app(cons(),y),z)) -> app(app(f,y),app(app(app(fold(),f),x),z)) app(app(plus(),0()),y) -> y app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) app(app(times(),0()),y) -> 0() app(app(times(),app(s(),x)),y) -> app(app(plus(),app(app(times(),x),y)),y) sum() -> app(app(fold(),add()),0()) prod() -> app(app(fold(),mul()),app(s(),0())) Open DPs: app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) TRS: app(app(app(fold(),f),x),nil()) -> x app(app(app(fold(),f),x),app(app(cons(),y),z)) -> app(app(f,y),app(app(app(fold(),f),x),z)) app(app(plus(),0()),y) -> y app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) app(app(times(),0()),y) -> 0() app(app(times(),app(s(),x)),y) -> app(app(plus(),app(app(times(),x),y)),y) sum() -> app(app(fold(),add()),0()) prod() -> app(app(fold(),mul()),app(s(),0())) Open