MAYBE Problem: app(rev(),nil()) -> nil() app(rev(),app(app(cons(),x),l)) -> app(app(cons(),app(app(rev1(),x),l)),app(app(rev2(),x),l)) app(app(rev1(),0()),nil()) -> 0() app(app(rev1(),app(s(),x)),nil()) -> app(s(),x) app(app(rev1(),x),app(app(cons(),y),l)) -> app(app(rev1(),y),l) app(app(rev2(),x),nil()) -> nil() app(app(rev2(),x),app(app(cons(),y),l)) -> app(rev(),app(app(cons(),x),app(app(rev2(),y),l))) 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#(rev(),app(app(cons(),x),l)) -> app#(rev2(),x) app#(rev(),app(app(cons(),x),l)) -> app#(app(rev2(),x),l) app#(rev(),app(app(cons(),x),l)) -> app#(rev1(),x) app#(rev(),app(app(cons(),x),l)) -> app#(app(rev1(),x),l) app#(rev(),app(app(cons(),x),l)) -> app#(cons(),app(app(rev1(),x),l)) app#(rev(),app(app(cons(),x),l)) -> app#(app(cons(),app(app(rev1(),x),l)),app(app(rev2(),x),l)) app#(app(rev1(),x),app(app(cons(),y),l)) -> app#(rev1(),y) app#(app(rev1(),x),app(app(cons(),y),l)) -> app#(app(rev1(),y),l) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev2(),y) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(rev2(),y),l) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(cons(),x) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(cons(),x),app(app(rev2(),y),l)) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev(),app(app(cons(),x),app(app(rev2(),y),l))) 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(rev(),nil()) -> nil() app(rev(),app(app(cons(),x),l)) -> app(app(cons(),app(app(rev1(),x),l)),app(app(rev2(),x),l)) app(app(rev1(),0()),nil()) -> 0() app(app(rev1(),app(s(),x)),nil()) -> app(s(),x) app(app(rev1(),x),app(app(cons(),y),l)) -> app(app(rev1(),y),l) app(app(rev2(),x),nil()) -> nil() app(app(rev2(),x),app(app(cons(),y),l)) -> app(rev(),app(app(cons(),x),app(app(rev2(),y),l))) 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#(rev(),app(app(cons(),x),l)) -> app#(rev2(),x) app#(rev(),app(app(cons(),x),l)) -> app#(app(rev2(),x),l) app#(rev(),app(app(cons(),x),l)) -> app#(rev1(),x) app#(rev(),app(app(cons(),x),l)) -> app#(app(rev1(),x),l) app#(rev(),app(app(cons(),x),l)) -> app#(cons(),app(app(rev1(),x),l)) app#(rev(),app(app(cons(),x),l)) -> app#(app(cons(),app(app(rev1(),x),l)),app(app(rev2(),x),l)) app#(app(rev1(),x),app(app(cons(),y),l)) -> app#(rev1(),y) app#(app(rev1(),x),app(app(cons(),y),l)) -> app#(app(rev1(),y),l) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev2(),y) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(rev2(),y),l) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(cons(),x) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(cons(),x),app(app(rev2(),y),l)) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev(),app(app(cons(),x),app(app(rev2(),y),l))) 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(rev(),nil()) -> nil() app(rev(),app(app(cons(),x),l)) -> app(app(cons(),app(app(rev1(),x),l)),app(app(rev2(),x),l)) app(app(rev1(),0()),nil()) -> 0() app(app(rev1(),app(s(),x)),nil()) -> app(s(),x) app(app(rev1(),x),app(app(cons(),y),l)) -> app(app(rev1(),y),l) app(app(rev2(),x),nil()) -> nil() app(app(rev2(),x),app(app(cons(),y),l)) -> app(rev(),app(app(cons(),x),app(app(rev2(),y),l))) 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#(rev(),app(app(cons(),x),l)) -> app#(rev2(),x) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(rev(),app(app(cons(),x),l)) -> app#(app(rev2(),x),l) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(rev(),app(app(cons(),x),l)) -> app#(rev1(),x) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(rev(),app(app(cons(),x),l)) -> app#(app(rev1(),x),l) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(rev(),app(app(cons(),x),l)) -> app#(cons(),app(app(rev1(),x),l)) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(rev(),app(app(cons(),x),l)) -> app#(app(cons(),app(app(rev1(),x),l)),app(app(rev2(),x),l)) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(rev1(),x),app(app(cons(),y),l)) -> app#(rev1(),y) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(rev1(),x),app(app(cons(),y),l)) -> app#(app(rev1(),y),l) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev2(),y) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(rev2(),y),l) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(cons(),x) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(cons(),x),app(app(rev2(),y),l)) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev(),app(app(cons(),x),app(app(rev2(),y),l))) 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#(rev(),app(app(cons(),x),l)) -> app#(rev2(),x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(rev(),app(app(cons(),x),l)) -> app#(app(rev2(),x),l) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(rev(),app(app(cons(),x),l)) -> app#(rev1(),x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(rev(),app(app(cons(),x),l)) -> app#(app(rev1(),x),l) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(rev(),app(app(cons(),x),l)) -> app#(cons(),app(app(rev1(),x),l)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(rev(),app(app(cons(),x),l)) -> app#(app(cons(),app(app(rev1(),x),l)),app(app(rev2(),x),l)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(rev1(),x),app(app(cons(),y),l)) -> app#(rev1(),y) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(rev1(),x),app(app(cons(),y),l)) -> app#(app(rev1(),y),l) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev2(),y) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(rev2(),y),l) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(cons(),x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(cons(),x),app(app(rev2(),y),l)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev(),app(app(cons(),x),app(app(rev2(),y),l))) 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(rev2(),x),app(app(cons(),y),l)) -> app#(app(rev2(),y),l) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev2(),y) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(rev2(),y),l) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(rev2(),y),l) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(rev2(),y),l) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(cons(),x) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(rev2(),y),l) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(cons(),x),app(app(rev2(),y),l)) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(rev2(),y),l) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev(),app(app(cons(),x),app(app(rev2(),y),l))) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev(),app(app(cons(),x),app(app(rev2(),y),l))) -> app#(rev(),app(app(cons(),x),l)) -> app#(rev2(),x) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev(),app(app(cons(),x),app(app(rev2(),y),l))) -> app#(rev(),app(app(cons(),x),l)) -> app#(app(rev2(),x),l) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev(),app(app(cons(),x),app(app(rev2(),y),l))) -> app#(rev(),app(app(cons(),x),l)) -> app#(rev1(),x) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev(),app(app(cons(),x),app(app(rev2(),y),l))) -> app#(rev(),app(app(cons(),x),l)) -> app#(app(rev1(),x),l) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev(),app(app(cons(),x),app(app(rev2(),y),l))) -> app#(rev(),app(app(cons(),x),l)) -> app#(cons(),app(app(rev1(),x),l)) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev(),app(app(cons(),x),app(app(rev2(),y),l))) -> app#(rev(),app(app(cons(),x),l)) -> app#(app(cons(),app(app(rev1(),x),l)),app(app(rev2(),x),l)) app#(app(rev1(),x),app(app(cons(),y),l)) -> app#(app(rev1(),y),l) -> app#(app(rev1(),x),app(app(cons(),y),l)) -> app#(rev1(),y) app#(app(rev1(),x),app(app(cons(),y),l)) -> app#(app(rev1(),y),l) -> app#(app(rev1(),x),app(app(cons(),y),l)) -> app#(app(rev1(),y),l) 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#(rev(),app(app(cons(),x),l)) -> app#(app(rev2(),x),l) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev2(),y) app#(rev(),app(app(cons(),x),l)) -> app#(app(rev2(),x),l) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(rev2(),y),l) app#(rev(),app(app(cons(),x),l)) -> app#(app(rev2(),x),l) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(cons(),x) app#(rev(),app(app(cons(),x),l)) -> app#(app(rev2(),x),l) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(cons(),x),app(app(rev2(),y),l)) app#(rev(),app(app(cons(),x),l)) -> app#(app(rev2(),x),l) -> app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev(),app(app(cons(),x),app(app(rev2(),y),l))) app#(rev(),app(app(cons(),x),l)) -> app#(app(rev1(),x),l) -> app#(app(rev1(),x),app(app(cons(),y),l)) -> app#(rev1(),y) app#(rev(),app(app(cons(),x),l)) -> app#(app(rev1(),x),l) -> app#(app(rev1(),x),app(app(cons(),y),l)) -> app#(app(rev1(),y),l) SCC Processor: #sccs: 3 #rules: 9 #arcs: 90/784 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(rev(),nil()) -> nil() app(rev(),app(app(cons(),x),l)) -> app(app(cons(),app(app(rev1(),x),l)),app(app(rev2(),x),l)) app(app(rev1(),0()),nil()) -> 0() app(app(rev1(),app(s(),x)),nil()) -> app(s(),x) app(app(rev1(),x),app(app(cons(),y),l)) -> app(app(rev1(),y),l) app(app(rev2(),x),nil()) -> nil() app(app(rev2(),x),app(app(cons(),y),l)) -> app(rev(),app(app(cons(),x),app(app(rev2(),y),l))) 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 DPs: app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(rev(),app(app(cons(),x),app(app(rev2(),y),l))) app#(rev(),app(app(cons(),x),l)) -> app#(app(rev2(),x),l) app#(app(rev2(),x),app(app(cons(),y),l)) -> app#(app(rev2(),y),l) TRS: app(rev(),nil()) -> nil() app(rev(),app(app(cons(),x),l)) -> app(app(cons(),app(app(rev1(),x),l)),app(app(rev2(),x),l)) app(app(rev1(),0()),nil()) -> 0() app(app(rev1(),app(s(),x)),nil()) -> app(s(),x) app(app(rev1(),x),app(app(cons(),y),l)) -> app(app(rev1(),y),l) app(app(rev2(),x),nil()) -> nil() app(app(rev2(),x),app(app(cons(),y),l)) -> app(rev(),app(app(cons(),x),app(app(rev2(),y),l))) 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 DPs: app#(app(rev1(),x),app(app(cons(),y),l)) -> app#(app(rev1(),y),l) TRS: app(rev(),nil()) -> nil() app(rev(),app(app(cons(),x),l)) -> app(app(cons(),app(app(rev1(),x),l)),app(app(rev2(),x),l)) app(app(rev1(),0()),nil()) -> 0() app(app(rev1(),app(s(),x)),nil()) -> app(s(),x) app(app(rev1(),x),app(app(cons(),y),l)) -> app(app(rev1(),y),l) app(app(rev2(),x),nil()) -> nil() app(app(rev2(),x),app(app(cons(),y),l)) -> app(rev(),app(app(cons(),x),app(app(rev2(),y),l))) 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