YES Problem: app(app(app(f(),0()),1()),x) -> app(app(app(f(),app(s(),x)),x),x) app(app(app(f(),x),y),app(s(),z)) -> app(s(),app(app(app(f(),0()),1()),z)) app(app(map(),fun),nil()) -> nil() app(app(map(),fun),app(app(cons(),x),xs)) -> app(app(cons(),app(fun,x)),app(app(map(),fun),xs)) app(app(filter(),fun),nil()) -> nil() app(app(filter(),fun),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(fun,x)),fun),x),xs) app(app(app(app(filter2(),true()),fun),x),xs) -> app(app(cons(),x),app(app(filter(),fun),xs)) app(app(app(app(filter2(),false()),fun),x),xs) -> app(app(filter(),fun),xs) Proof: DP Processor: DPs: app#(app(app(f(),0()),1()),x) -> app#(s(),x) app#(app(app(f(),0()),1()),x) -> app#(f(),app(s(),x)) app#(app(app(f(),0()),1()),x) -> app#(app(f(),app(s(),x)),x) app#(app(app(f(),0()),1()),x) -> app#(app(app(f(),app(s(),x)),x),x) app#(app(app(f(),x),y),app(s(),z)) -> app#(f(),0()) app#(app(app(f(),x),y),app(s(),z)) -> app#(app(f(),0()),1()) app#(app(app(f(),x),y),app(s(),z)) -> app#(app(app(f(),0()),1()),z) app#(app(app(f(),x),y),app(s(),z)) -> app#(s(),app(app(app(f(),0()),1()),z)) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(app(map(),fun),xs) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(cons(),app(fun,x)) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(app(cons(),app(fun,x)),app(app(map(),fun),xs)) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(filter2(),app(fun,x)) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(filter2(),app(fun,x)),fun) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(app(filter2(),app(fun,x)),fun),x) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(app(app(filter2(),app(fun,x)),fun),x),xs) app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(filter(),fun) app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(app(filter(),fun),xs) app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(cons(),x) app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(app(cons(),x),app(app(filter(),fun),xs)) app#(app(app(app(filter2(),false()),fun),x),xs) -> app#(filter(),fun) app#(app(app(app(filter2(),false()),fun),x),xs) -> app#(app(filter(),fun),xs) TRS: app(app(app(f(),0()),1()),x) -> app(app(app(f(),app(s(),x)),x),x) app(app(app(f(),x),y),app(s(),z)) -> app(s(),app(app(app(f(),0()),1()),z)) app(app(map(),fun),nil()) -> nil() app(app(map(),fun),app(app(cons(),x),xs)) -> app(app(cons(),app(fun,x)),app(app(map(),fun),xs)) app(app(filter(),fun),nil()) -> nil() app(app(filter(),fun),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(fun,x)),fun),x),xs) app(app(app(app(filter2(),true()),fun),x),xs) -> app(app(cons(),x),app(app(filter(),fun),xs)) app(app(app(app(filter2(),false()),fun),x),xs) -> app(app(filter(),fun),xs) EDG Processor: DPs: app#(app(app(f(),0()),1()),x) -> app#(s(),x) app#(app(app(f(),0()),1()),x) -> app#(f(),app(s(),x)) app#(app(app(f(),0()),1()),x) -> app#(app(f(),app(s(),x)),x) app#(app(app(f(),0()),1()),x) -> app#(app(app(f(),app(s(),x)),x),x) app#(app(app(f(),x),y),app(s(),z)) -> app#(f(),0()) app#(app(app(f(),x),y),app(s(),z)) -> app#(app(f(),0()),1()) app#(app(app(f(),x),y),app(s(),z)) -> app#(app(app(f(),0()),1()),z) app#(app(app(f(),x),y),app(s(),z)) -> app#(s(),app(app(app(f(),0()),1()),z)) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(app(map(),fun),xs) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(cons(),app(fun,x)) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(app(cons(),app(fun,x)),app(app(map(),fun),xs)) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(filter2(),app(fun,x)) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(filter2(),app(fun,x)),fun) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(app(filter2(),app(fun,x)),fun),x) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(app(app(filter2(),app(fun,x)),fun),x),xs) app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(filter(),fun) app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(app(filter(),fun),xs) app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(cons(),x) app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(app(cons(),x),app(app(filter(),fun),xs)) app#(app(app(app(filter2(),false()),fun),x),xs) -> app#(filter(),fun) app#(app(app(app(filter2(),false()),fun),x),xs) -> app#(app(filter(),fun),xs) TRS: app(app(app(f(),0()),1()),x) -> app(app(app(f(),app(s(),x)),x),x) app(app(app(f(),x),y),app(s(),z)) -> app(s(),app(app(app(f(),0()),1()),z)) app(app(map(),fun),nil()) -> nil() app(app(map(),fun),app(app(cons(),x),xs)) -> app(app(cons(),app(fun,x)),app(app(map(),fun),xs)) app(app(filter(),fun),nil()) -> nil() app(app(filter(),fun),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(fun,x)),fun),x),xs) app(app(app(app(filter2(),true()),fun),x),xs) -> app(app(cons(),x),app(app(filter(),fun),xs)) app(app(app(app(filter2(),false()),fun),x),xs) -> app(app(filter(),fun),xs) graph: app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),0()),1()),x) -> app#(s(),x) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),0()),1()),x) -> app#(f(),app(s(),x)) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),0()),1()),x) -> app#(app(f(),app(s(),x)),x) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),0()),1()),x) -> app#(app(app(f(),app(s(),x)),x),x) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(f(),0()) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(app(f(),0()),1()) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(app(app(f(),0()),1()),z) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(s(),app(app(app(f(),0()),1()),z)) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(app(map(),fun),xs) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(cons(),app(fun,x)) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(app(cons(),app(fun,x)),app(app(map(),fun),xs)) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(filter2(),app(fun,x)) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(filter2(),app(fun,x)),fun) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(app(filter2(),app(fun,x)),fun),x) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(app(app(filter2(),app(fun,x)),fun),x),xs) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(filter(),fun) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(app(filter(),fun),xs) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(cons(),x) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(app(cons(),x),app(app(filter(),fun),xs)) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(app(filter2(),false()),fun),x),xs) -> app#(filter(),fun) app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(app(filter2(),false()),fun),x),xs) -> app#(app(filter(),fun),xs) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(app(map(),fun),xs) -> app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(app(map(),fun),xs) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(app(map(),fun),xs) -> app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(app(map(),fun),xs) -> app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(cons(),app(fun,x)) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(app(map(),fun),xs) -> app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(app(cons(),app(fun,x)),app(app(map(),fun),xs)) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),0()),1()),x) -> app#(s(),x) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),0()),1()),x) -> app#(f(),app(s(),x)) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),0()),1()),x) -> app#(app(f(),app(s(),x)),x) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),0()),1()),x) -> app#(app(app(f(),app(s(),x)),x),x) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(f(),0()) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(app(f(),0()),1()) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(app(app(f(),0()),1()),z) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(s(),app(app(app(f(),0()),1()),z)) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(app(map(),fun),xs) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(cons(),app(fun,x)) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(app(cons(),app(fun,x)),app(app(map(),fun),xs)) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(filter2(),app(fun,x)) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(filter2(),app(fun,x)),fun) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(app(filter2(),app(fun,x)),fun),x) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(app(app(filter2(),app(fun,x)),fun),x),xs) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(filter(),fun) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(app(filter(),fun),xs) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(cons(),x) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(app(cons(),x),app(app(filter(),fun),xs)) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(app(filter2(),false()),fun),x),xs) -> app#(filter(),fun) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) -> app#(app(app(app(filter2(),false()),fun),x),xs) -> app#(app(filter(),fun),xs) app#(app(app(app(filter2(),false()),fun),x),xs) -> app#(app(filter(),fun),xs) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) app#(app(app(app(filter2(),false()),fun),x),xs) -> app#(app(filter(),fun),xs) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(filter2(),app(fun,x)) app#(app(app(app(filter2(),false()),fun),x),xs) -> app#(app(filter(),fun),xs) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(filter2(),app(fun,x)),fun) app#(app(app(app(filter2(),false()),fun),x),xs) -> app#(app(filter(),fun),xs) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(app(filter2(),app(fun,x)),fun),x) app#(app(app(app(filter2(),false()),fun),x),xs) -> app#(app(filter(),fun),xs) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(app(app(filter2(),app(fun,x)),fun),x),xs) app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(app(filter(),fun),xs) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(app(filter(),fun),xs) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(filter2(),app(fun,x)) app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(app(filter(),fun),xs) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(filter2(),app(fun,x)),fun) app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(app(filter(),fun),xs) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(app(filter2(),app(fun,x)),fun),x) app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(app(filter(),fun),xs) -> app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(app(app(app(filter2(),app(fun,x)),fun),x),xs) app#(app(app(f(),0()),1()),x) -> app#(app(app(f(),app(s(),x)),x),x) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(f(),0()) app#(app(app(f(),0()),1()),x) -> app#(app(app(f(),app(s(),x)),x),x) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(app(f(),0()),1()) app#(app(app(f(),0()),1()),x) -> app#(app(app(f(),app(s(),x)),x),x) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(app(app(f(),0()),1()),z) app#(app(app(f(),0()),1()),x) -> app#(app(app(f(),app(s(),x)),x),x) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(s(),app(app(app(f(),0()),1()),z)) app#(app(app(f(),x),y),app(s(),z)) -> app#(app(app(f(),0()),1()),z) -> app#(app(app(f(),0()),1()),x) -> app#(s(),x) app#(app(app(f(),x),y),app(s(),z)) -> app#(app(app(f(),0()),1()),z) -> app#(app(app(f(),0()),1()),x) -> app#(f(),app(s(),x)) app#(app(app(f(),x),y),app(s(),z)) -> app#(app(app(f(),0()),1()),z) -> app#(app(app(f(),0()),1()),x) -> app#(app(f(),app(s(),x)),x) app#(app(app(f(),x),y),app(s(),z)) -> app#(app(app(f(),0()),1()),z) -> app#(app(app(f(),0()),1()),x) -> app#(app(app(f(),app(s(),x)),x),x) app#(app(app(f(),x),y),app(s(),z)) -> app#(app(app(f(),0()),1()),z) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(f(),0()) app#(app(app(f(),x),y),app(s(),z)) -> app#(app(app(f(),0()),1()),z) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(app(f(),0()),1()) app#(app(app(f(),x),y),app(s(),z)) -> app#(app(app(f(),0()),1()),z) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(app(app(f(),0()),1()),z) app#(app(app(f(),x),y),app(s(),z)) -> app#(app(app(f(),0()),1()),z) -> app#(app(app(f(),x),y),app(s(),z)) -> app#(s(),app(app(app(f(),0()),1()),z)) SCC Processor: #sccs: 2 #rules: 7 #arcs: 72/529 DPs: app#(app(filter(),fun),app(app(cons(),x),xs)) -> app#(fun,x) app#(app(app(app(filter2(),false()),fun),x),xs) -> app#(app(filter(),fun),xs) app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(app(filter(),fun),xs) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(fun,x) app#(app(map(),fun),app(app(cons(),x),xs)) -> app#(app(map(),fun),xs) TRS: app(app(app(f(),0()),1()),x) -> app(app(app(f(),app(s(),x)),x),x) app(app(app(f(),x),y),app(s(),z)) -> app(s(),app(app(app(f(),0()),1()),z)) app(app(map(),fun),nil()) -> nil() app(app(map(),fun),app(app(cons(),x),xs)) -> app(app(cons(),app(fun,x)),app(app(map(),fun),xs)) app(app(filter(),fun),nil()) -> nil() app(app(filter(),fun),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(fun,x)),fun),x),xs) app(app(app(app(filter2(),true()),fun),x),xs) -> app(app(cons(),x),app(app(filter(),fun),xs)) app(app(app(app(filter2(),false()),fun),x),xs) -> app(app(filter(),fun),xs) Subterm Criterion Processor: simple projection: pi(app#) = 1 problem: DPs: app#(app(app(app(filter2(),false()),fun),x),xs) -> app#(app(filter(),fun),xs) app#(app(app(app(filter2(),true()),fun),x),xs) -> app#(app(filter(),fun),xs) TRS: app(app(app(f(),0()),1()),x) -> app(app(app(f(),app(s(),x)),x),x) app(app(app(f(),x),y),app(s(),z)) -> app(s(),app(app(app(f(),0()),1()),z)) app(app(map(),fun),nil()) -> nil() app(app(map(),fun),app(app(cons(),x),xs)) -> app(app(cons(),app(fun,x)),app(app(map(),fun),xs)) app(app(filter(),fun),nil()) -> nil() app(app(filter(),fun),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(fun,x)),fun),x),xs) app(app(app(app(filter2(),true()),fun),x),xs) -> app(app(cons(),x),app(app(filter(),fun),xs)) app(app(app(app(filter2(),false()),fun),x),xs) -> app(app(filter(),fun),xs) SCC Processor: #sccs: 0 #rules: 0 #arcs: 14/4 DPs: app#(app(app(f(),x),y),app(s(),z)) -> app#(app(app(f(),0()),1()),z) app#(app(app(f(),0()),1()),x) -> app#(app(app(f(),app(s(),x)),x),x) TRS: app(app(app(f(),0()),1()),x) -> app(app(app(f(),app(s(),x)),x),x) app(app(app(f(),x),y),app(s(),z)) -> app(s(),app(app(app(f(),0()),1()),z)) app(app(map(),fun),nil()) -> nil() app(app(map(),fun),app(app(cons(),x),xs)) -> app(app(cons(),app(fun,x)),app(app(map(),fun),xs)) app(app(filter(),fun),nil()) -> nil() app(app(filter(),fun),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(fun,x)),fun),x),xs) app(app(app(app(filter2(),true()),fun),x),xs) -> app(app(cons(),x),app(app(filter(),fun),xs)) app(app(app(app(filter2(),false()),fun),x),xs) -> app(app(filter(),fun),xs) Subterm Criterion Processor: simple projection: pi(app#) = 1 problem: DPs: app#(app(app(f(),0()),1()),x) -> app#(app(app(f(),app(s(),x)),x),x) TRS: app(app(app(f(),0()),1()),x) -> app(app(app(f(),app(s(),x)),x),x) app(app(app(f(),x),y),app(s(),z)) -> app(s(),app(app(app(f(),0()),1()),z)) app(app(map(),fun),nil()) -> nil() app(app(map(),fun),app(app(cons(),x),xs)) -> app(app(cons(),app(fun,x)),app(app(map(),fun),xs)) app(app(filter(),fun),nil()) -> nil() app(app(filter(),fun),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(fun,x)),fun),x),xs) app(app(app(app(filter2(),true()),fun),x),xs) -> app(app(cons(),x),app(app(filter(),fun),xs)) app(app(app(app(filter2(),false()),fun),x),xs) -> app(app(filter(),fun),xs) SCC Processor: #sccs: 0 #rules: 0 #arcs: 3/1