YES Problem: app(app(filter(),f),nil()) -> nil() app(app(filter(),f),app(app(cons(),y),ys)) -> app(app(app(filtersub(),app(f,y)),f),app(app(cons(),y),ys)) app(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app(app(cons(),y),app(app(filter(),f),ys)) app(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app(app(filter(),f),ys) Proof: DP Processor: DPs: app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(f,y) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(filtersub(),app(f,y)) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(app(filtersub(),app(f,y)),f) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(app(app(filtersub(),app(f,y)),f),app(app(cons(),y),ys)) app#(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app#(filter(),f) app#(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) app#(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app#(app(cons(),y),app(app(filter(),f),ys)) app#(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app#(filter(),f) app#(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) TRS: app(app(filter(),f),nil()) -> nil() app(app(filter(),f),app(app(cons(),y),ys)) -> app(app(app(filtersub(),app(f,y)),f),app(app(cons(),y),ys)) app(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app(app(cons(),y),app(app(filter(),f),ys)) app(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app(app(filter(),f),ys) EDG Processor: DPs: app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(f,y) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(filtersub(),app(f,y)) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(app(filtersub(),app(f,y)),f) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(app(app(filtersub(),app(f,y)),f),app(app(cons(),y),ys)) app#(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app#(filter(),f) app#(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) app#(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app#(app(cons(),y),app(app(filter(),f),ys)) app#(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app#(filter(),f) app#(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) TRS: app(app(filter(),f),nil()) -> nil() app(app(filter(),f),app(app(cons(),y),ys)) -> app(app(app(filtersub(),app(f,y)),f),app(app(cons(),y),ys)) app(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app(app(cons(),y),app(app(filter(),f),ys)) app(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app(app(filter(),f),ys) graph: app#(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) -> app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(f,y) app#(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) -> app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(filtersub(),app(f,y)) app#(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) -> app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(app(filtersub(),app(f,y)),f) app#(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) -> app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(app(app(filtersub(),app(f,y)),f),app(app(cons(),y),ys)) app#(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) -> app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(f,y) app#(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) -> app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(filtersub(),app(f,y)) app#(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) -> app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(app(filtersub(),app(f,y)),f) app#(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) -> app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(app(app(filtersub(),app(f,y)),f),app(app(cons(),y),ys)) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(f,y) -> app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(f,y) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(f,y) -> app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(filtersub(),app(f,y)) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(f,y) -> app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(app(filtersub(),app(f,y)),f) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(f,y) -> app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(app(app(filtersub(),app(f,y)),f),app(app(cons(),y),ys)) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(f,y) -> app#(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app#(filter(),f) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(f,y) -> app#(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(f,y) -> app#(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app#(app(cons(),y),app(app(filter(),f),ys)) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(f,y) -> app#(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app#(filter(),f) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(f,y) -> app#(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) SCC Processor: #sccs: 1 #rules: 3 #arcs: 17/81 DPs: app#(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) app#(app(filter(),f),app(app(cons(),y),ys)) -> app#(f,y) app#(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app#(app(filter(),f),ys) TRS: app(app(filter(),f),nil()) -> nil() app(app(filter(),f),app(app(cons(),y),ys)) -> app(app(app(filtersub(),app(f,y)),f),app(app(cons(),y),ys)) app(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app(app(cons(),y),app(app(filter(),f),ys)) app(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app(app(filter(),f),ys) Subterm Criterion Processor: simple projection: pi(app#) = 1 problem: DPs: TRS: app(app(filter(),f),nil()) -> nil() app(app(filter(),f),app(app(cons(),y),ys)) -> app(app(app(filtersub(),app(f,y)),f),app(app(cons(),y),ys)) app(app(app(filtersub(),true()),f),app(app(cons(),y),ys)) -> app(app(cons(),y),app(app(filter(),f),ys)) app(app(app(filtersub(),false()),f),app(app(cons(),y),ys)) -> app(app(filter(),f),ys) Qed