MAYBE Problem: app(app(ack(),0()),y) -> app(succ(),y) app(app(ack(),app(succ(),x)),y) -> app(app(ack(),x),app(succ(),0())) app(app(ack(),app(succ(),x)),app(succ(),y)) -> app(app(ack(),x),app(app(ack(),app(succ(),x)),y)) app(app(map(),f),nil()) -> nil() app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs)) app(app(filter(),f),nil()) -> nil() app(app(filter(),f),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(f,x)),f),x),xs) app(app(app(app(filter2(),true()),f),x),xs) -> app(app(cons(),x),app(app(filter(),f),xs)) app(app(app(app(filter2(),false()),f),x),xs) -> app(app(filter(),f),xs) Proof: DP Processor: DPs: app#(app(ack(),0()),y) -> app#(succ(),y) app#(app(ack(),app(succ(),x)),y) -> app#(succ(),0()) app#(app(ack(),app(succ(),x)),y) -> app#(ack(),x) app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),x),app(succ(),0())) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),app(succ(),x)),y) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(ack(),x) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),x),app(app(ack(),app(succ(),x)),y)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(cons(),app(f,x)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(cons(),app(f,x)),app(app(map(),f),xs)) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(filter2(),app(f,x)) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(filter2(),app(f,x)),f) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(app(filter2(),app(f,x)),f),x) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(app(app(filter2(),app(f,x)),f),x),xs) app#(app(app(app(filter2(),true()),f),x),xs) -> app#(filter(),f) app#(app(app(app(filter2(),true()),f),x),xs) -> app#(app(filter(),f),xs) app#(app(app(app(filter2(),true()),f),x),xs) -> app#(cons(),x) app#(app(app(app(filter2(),true()),f),x),xs) -> app#(app(cons(),x),app(app(filter(),f),xs)) app#(app(app(app(filter2(),false()),f),x),xs) -> app#(filter(),f) app#(app(app(app(filter2(),false()),f),x),xs) -> app#(app(filter(),f),xs) TRS: app(app(ack(),0()),y) -> app(succ(),y) app(app(ack(),app(succ(),x)),y) -> app(app(ack(),x),app(succ(),0())) app(app(ack(),app(succ(),x)),app(succ(),y)) -> app(app(ack(),x),app(app(ack(),app(succ(),x)),y)) app(app(map(),f),nil()) -> nil() app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs)) app(app(filter(),f),nil()) -> nil() app(app(filter(),f),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(f,x)),f),x),xs) app(app(app(app(filter2(),true()),f),x),xs) -> app(app(cons(),x),app(app(filter(),f),xs)) app(app(app(app(filter2(),false()),f),x),xs) -> app(app(filter(),f),xs) EDG Processor: DPs: app#(app(ack(),0()),y) -> app#(succ(),y) app#(app(ack(),app(succ(),x)),y) -> app#(succ(),0()) app#(app(ack(),app(succ(),x)),y) -> app#(ack(),x) app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),x),app(succ(),0())) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),app(succ(),x)),y) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(ack(),x) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),x),app(app(ack(),app(succ(),x)),y)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(cons(),app(f,x)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(cons(),app(f,x)),app(app(map(),f),xs)) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(filter2(),app(f,x)) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(filter2(),app(f,x)),f) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(app(filter2(),app(f,x)),f),x) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(app(app(filter2(),app(f,x)),f),x),xs) app#(app(app(app(filter2(),true()),f),x),xs) -> app#(filter(),f) app#(app(app(app(filter2(),true()),f),x),xs) -> app#(app(filter(),f),xs) app#(app(app(app(filter2(),true()),f),x),xs) -> app#(cons(),x) app#(app(app(app(filter2(),true()),f),x),xs) -> app#(app(cons(),x),app(app(filter(),f),xs)) app#(app(app(app(filter2(),false()),f),x),xs) -> app#(filter(),f) app#(app(app(app(filter2(),false()),f),x),xs) -> app#(app(filter(),f),xs) TRS: app(app(ack(),0()),y) -> app(succ(),y) app(app(ack(),app(succ(),x)),y) -> app(app(ack(),x),app(succ(),0())) app(app(ack(),app(succ(),x)),app(succ(),y)) -> app(app(ack(),x),app(app(ack(),app(succ(),x)),y)) app(app(map(),f),nil()) -> nil() app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs)) app(app(filter(),f),nil()) -> nil() app(app(filter(),f),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(f,x)),f),x),xs) app(app(app(app(filter2(),true()),f),x),xs) -> app(app(cons(),x),app(app(filter(),f),xs)) app(app(app(app(filter2(),false()),f),x),xs) -> app(app(filter(),f),xs) graph: app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(ack(),0()),y) -> app#(succ(),y) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(ack(),app(succ(),x)),y) -> app#(succ(),0()) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(ack(),app(succ(),x)),y) -> app#(ack(),x) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),x),app(succ(),0())) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),app(succ(),x)),y) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(ack(),x) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),x),app(app(ack(),app(succ(),x)),y)) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(cons(),app(f,x)) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(cons(),app(f,x)),app(app(map(),f),xs)) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(filter2(),app(f,x)) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(filter2(),app(f,x)),f) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(app(filter2(),app(f,x)),f),x) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(app(app(filter2(),app(f,x)),f),x),xs) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(app(app(filter2(),true()),f),x),xs) -> app#(filter(),f) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(app(app(filter2(),true()),f),x),xs) -> app#(app(filter(),f),xs) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(app(app(filter2(),true()),f),x),xs) -> app#(cons(),x) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(app(app(filter2(),true()),f),x),xs) -> app#(app(cons(),x),app(app(filter(),f),xs)) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(app(app(filter2(),false()),f),x),xs) -> app#(filter(),f) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(app(app(filter2(),false()),f),x),xs) -> app#(app(filter(),f),xs) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(cons(),app(f,x)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(cons(),app(f,x)),app(app(map(),f),xs)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(ack(),0()),y) -> app#(succ(),y) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(ack(),app(succ(),x)),y) -> app#(succ(),0()) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(ack(),app(succ(),x)),y) -> app#(ack(),x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),x),app(succ(),0())) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),app(succ(),x)),y) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(ack(),x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),x),app(app(ack(),app(succ(),x)),y)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(cons(),app(f,x)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(cons(),app(f,x)),app(app(map(),f),xs)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(filter2(),app(f,x)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(filter2(),app(f,x)),f) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(app(filter2(),app(f,x)),f),x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(app(app(filter2(),app(f,x)),f),x),xs) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(app(app(filter2(),true()),f),x),xs) -> app#(filter(),f) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(app(app(filter2(),true()),f),x),xs) -> app#(app(filter(),f),xs) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(app(app(filter2(),true()),f),x),xs) -> app#(cons(),x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(app(app(filter2(),true()),f),x),xs) -> app#(app(cons(),x),app(app(filter(),f),xs)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(app(app(filter2(),false()),f),x),xs) -> app#(filter(),f) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(app(app(filter2(),false()),f),x),xs) -> app#(app(filter(),f),xs) app#(app(app(app(filter2(),false()),f),x),xs) -> app#(app(filter(),f),xs) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(app(app(filter2(),false()),f),x),xs) -> app#(app(filter(),f),xs) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(filter2(),app(f,x)) app#(app(app(app(filter2(),false()),f),x),xs) -> app#(app(filter(),f),xs) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(filter2(),app(f,x)),f) app#(app(app(app(filter2(),false()),f),x),xs) -> app#(app(filter(),f),xs) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(app(filter2(),app(f,x)),f),x) app#(app(app(app(filter2(),false()),f),x),xs) -> app#(app(filter(),f),xs) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(app(app(filter2(),app(f,x)),f),x),xs) app#(app(app(app(filter2(),true()),f),x),xs) -> app#(app(filter(),f),xs) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(app(app(filter2(),true()),f),x),xs) -> app#(app(filter(),f),xs) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(filter2(),app(f,x)) app#(app(app(app(filter2(),true()),f),x),xs) -> app#(app(filter(),f),xs) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(filter2(),app(f,x)),f) app#(app(app(app(filter2(),true()),f),x),xs) -> app#(app(filter(),f),xs) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(app(filter2(),app(f,x)),f),x) app#(app(app(app(filter2(),true()),f),x),xs) -> app#(app(filter(),f),xs) -> app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(app(app(app(filter2(),app(f,x)),f),x),xs) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),app(succ(),x)),y) -> app#(succ(),0()) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),app(succ(),x)),y) -> app#(ack(),x) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),x),app(succ(),0())) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),app(succ(),x)),y) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(ack(),x) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),x),app(app(ack(),app(succ(),x)),y)) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),x),app(app(ack(),app(succ(),x)),y)) -> app#(app(ack(),0()),y) -> app#(succ(),y) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),x),app(app(ack(),app(succ(),x)),y)) -> app#(app(ack(),app(succ(),x)),y) -> app#(succ(),0()) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),x),app(app(ack(),app(succ(),x)),y)) -> app#(app(ack(),app(succ(),x)),y) -> app#(ack(),x) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),x),app(app(ack(),app(succ(),x)),y)) -> app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),x),app(succ(),0())) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),x),app(app(ack(),app(succ(),x)),y)) -> app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),app(succ(),x)),y) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),x),app(app(ack(),app(succ(),x)),y)) -> app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(ack(),x) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),x),app(app(ack(),app(succ(),x)),y)) -> app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),x),app(app(ack(),app(succ(),x)),y)) app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),x),app(succ(),0())) -> app#(app(ack(),0()),y) -> app#(succ(),y) app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),x),app(succ(),0())) -> app#(app(ack(),app(succ(),x)),y) -> app#(succ(),0()) app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),x),app(succ(),0())) -> app#(app(ack(),app(succ(),x)),y) -> app#(ack(),x) app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),x),app(succ(),0())) -> app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),x),app(succ(),0())) app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),x),app(succ(),0())) -> app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),app(succ(),x)),y) app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),x),app(succ(),0())) -> app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(ack(),x) app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),x),app(succ(),0())) -> app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),x),app(app(ack(),app(succ(),x)),y)) SCC Processor: #sccs: 2 #rules: 8 #arcs: 78/484 DPs: app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(app(app(filter2(),false()),f),x),xs) -> app#(app(filter(),f),xs) app#(app(app(app(filter2(),true()),f),x),xs) -> app#(app(filter(),f),xs) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) TRS: app(app(ack(),0()),y) -> app(succ(),y) app(app(ack(),app(succ(),x)),y) -> app(app(ack(),x),app(succ(),0())) app(app(ack(),app(succ(),x)),app(succ(),y)) -> app(app(ack(),x),app(app(ack(),app(succ(),x)),y)) app(app(map(),f),nil()) -> nil() app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs)) app(app(filter(),f),nil()) -> nil() app(app(filter(),f),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(f,x)),f),x),xs) app(app(app(app(filter2(),true()),f),x),xs) -> app(app(cons(),x),app(app(filter(),f),xs)) app(app(app(app(filter2(),false()),f),x),xs) -> app(app(filter(),f),xs) Subterm Criterion Processor: simple projection: pi(app#) = 1 problem: DPs: app#(app(app(app(filter2(),false()),f),x),xs) -> app#(app(filter(),f),xs) app#(app(app(app(filter2(),true()),f),x),xs) -> app#(app(filter(),f),xs) TRS: app(app(ack(),0()),y) -> app(succ(),y) app(app(ack(),app(succ(),x)),y) -> app(app(ack(),x),app(succ(),0())) app(app(ack(),app(succ(),x)),app(succ(),y)) -> app(app(ack(),x),app(app(ack(),app(succ(),x)),y)) app(app(map(),f),nil()) -> nil() app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs)) app(app(filter(),f),nil()) -> nil() app(app(filter(),f),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(f,x)),f),x),xs) app(app(app(app(filter2(),true()),f),x),xs) -> app(app(cons(),x),app(app(filter(),f),xs)) app(app(app(app(filter2(),false()),f),x),xs) -> app(app(filter(),f),xs) SCC Processor: #sccs: 0 #rules: 0 #arcs: 14/4 DPs: app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),x),app(app(ack(),app(succ(),x)),y)) app#(app(ack(),app(succ(),x)),app(succ(),y)) -> app#(app(ack(),app(succ(),x)),y) app#(app(ack(),app(succ(),x)),y) -> app#(app(ack(),x),app(succ(),0())) TRS: app(app(ack(),0()),y) -> app(succ(),y) app(app(ack(),app(succ(),x)),y) -> app(app(ack(),x),app(succ(),0())) app(app(ack(),app(succ(),x)),app(succ(),y)) -> app(app(ack(),x),app(app(ack(),app(succ(),x)),y)) app(app(map(),f),nil()) -> nil() app(app(map(),f),app(app(cons(),x),xs)) -> app(app(cons(),app(f,x)),app(app(map(),f),xs)) app(app(filter(),f),nil()) -> nil() app(app(filter(),f),app(app(cons(),x),xs)) -> app(app(app(app(filter2(),app(f,x)),f),x),xs) app(app(app(app(filter2(),true()),f),x),xs) -> app(app(cons(),x),app(app(filter(),f),xs)) app(app(app(app(filter2(),false()),f),x),xs) -> app(app(filter(),f),xs) Open