MAYBE Problem: app(p(),app(s(),x)) -> x app(fact(),0()) -> app(s(),0()) app(fact(),app(s(),x)) -> app(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) app(app(*(),0()),y) -> 0() app(app(*(),app(s(),x)),y) -> app(app(+(),app(app(*(),x),y)),y) app(app(+(),x),0()) -> x app(app(+(),x),app(s(),y)) -> app(s(),app(app(+(),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#(fact(),0()) -> app#(s(),0()) app#(fact(),app(s(),x)) -> app#(p(),app(s(),x)) app#(fact(),app(s(),x)) -> app#(fact(),app(p(),app(s(),x))) app#(fact(),app(s(),x)) -> app#(*(),app(s(),x)) app#(fact(),app(s(),x)) -> app#(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) app#(app(*(),app(s(),x)),y) -> app#(*(),x) app#(app(*(),app(s(),x)),y) -> app#(app(*(),x),y) app#(app(*(),app(s(),x)),y) -> app#(+(),app(app(*(),x),y)) app#(app(*(),app(s(),x)),y) -> app#(app(+(),app(app(*(),x),y)),y) app#(app(+(),x),app(s(),y)) -> app#(app(+(),x),y) app#(app(+(),x),app(s(),y)) -> app#(s(),app(app(+(),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(p(),app(s(),x)) -> x app(fact(),0()) -> app(s(),0()) app(fact(),app(s(),x)) -> app(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) app(app(*(),0()),y) -> 0() app(app(*(),app(s(),x)),y) -> app(app(+(),app(app(*(),x),y)),y) app(app(+(),x),0()) -> x app(app(+(),x),app(s(),y)) -> app(s(),app(app(+(),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#(fact(),0()) -> app#(s(),0()) app#(fact(),app(s(),x)) -> app#(p(),app(s(),x)) app#(fact(),app(s(),x)) -> app#(fact(),app(p(),app(s(),x))) app#(fact(),app(s(),x)) -> app#(*(),app(s(),x)) app#(fact(),app(s(),x)) -> app#(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) app#(app(*(),app(s(),x)),y) -> app#(*(),x) app#(app(*(),app(s(),x)),y) -> app#(app(*(),x),y) app#(app(*(),app(s(),x)),y) -> app#(+(),app(app(*(),x),y)) app#(app(*(),app(s(),x)),y) -> app#(app(+(),app(app(*(),x),y)),y) app#(app(+(),x),app(s(),y)) -> app#(app(+(),x),y) app#(app(+(),x),app(s(),y)) -> app#(s(),app(app(+(),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(p(),app(s(),x)) -> x app(fact(),0()) -> app(s(),0()) app(fact(),app(s(),x)) -> app(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) app(app(*(),0()),y) -> 0() app(app(*(),app(s(),x)),y) -> app(app(+(),app(app(*(),x),y)),y) app(app(+(),x),0()) -> x app(app(+(),x),app(s(),y)) -> app(s(),app(app(+(),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#(fact(),app(s(),x)) -> app#(fact(),app(p(),app(s(),x))) -> app#(fact(),0()) -> app#(s(),0()) app#(fact(),app(s(),x)) -> app#(fact(),app(p(),app(s(),x))) -> app#(fact(),app(s(),x)) -> app#(p(),app(s(),x)) app#(fact(),app(s(),x)) -> app#(fact(),app(p(),app(s(),x))) -> app#(fact(),app(s(),x)) -> app#(fact(),app(p(),app(s(),x))) app#(fact(),app(s(),x)) -> app#(fact(),app(p(),app(s(),x))) -> app#(fact(),app(s(),x)) -> app#(*(),app(s(),x)) app#(fact(),app(s(),x)) -> app#(fact(),app(p(),app(s(),x))) -> app#(fact(),app(s(),x)) -> app#(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) app#(fact(),app(s(),x)) -> app#(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) -> app#(app(*(),app(s(),x)),y) -> app#(*(),x) app#(fact(),app(s(),x)) -> app#(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) -> app#(app(*(),app(s(),x)),y) -> app#(app(*(),x),y) app#(fact(),app(s(),x)) -> app#(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) -> app#(app(*(),app(s(),x)),y) -> app#(+(),app(app(*(),x),y)) app#(fact(),app(s(),x)) -> app#(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) -> app#(app(*(),app(s(),x)),y) -> app#(app(+(),app(app(*(),x),y)),y) 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(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#(app(app(app(filter2(),app(f,x)),f),x),xs) -> app#(app(app(app(filter2(),true()),f),x),xs) -> app#(cons(),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#(app(cons(),x),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(),false()),f),x),xs) -> app#(filter(),f) 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(),false()),f),x),xs) -> app#(app(filter(),f),xs) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(fact(),0()) -> app#(s(),0()) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(fact(),app(s(),x)) -> app#(p(),app(s(),x)) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(fact(),app(s(),x)) -> app#(fact(),app(p(),app(s(),x))) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(fact(),app(s(),x)) -> app#(*(),app(s(),x)) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(fact(),app(s(),x)) -> app#(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(*(),app(s(),x)),y) -> app#(*(),x) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(*(),app(s(),x)),y) -> app#(app(*(),x),y) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(*(),app(s(),x)),y) -> app#(+(),app(app(*(),x),y)) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(*(),app(s(),x)),y) -> app#(app(+(),app(app(*(),x),y)),y) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(+(),x),app(s(),y)) -> app#(app(+(),x),y) app#(app(filter(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(+(),x),app(s(),y)) -> app#(s(),app(app(+(),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#(fact(),0()) -> app#(s(),0()) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(fact(),app(s(),x)) -> app#(p(),app(s(),x)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(fact(),app(s(),x)) -> app#(fact(),app(p(),app(s(),x))) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(fact(),app(s(),x)) -> app#(*(),app(s(),x)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(fact(),app(s(),x)) -> app#(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(*(),app(s(),x)),y) -> app#(*(),x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(*(),app(s(),x)),y) -> app#(app(*(),x),y) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(*(),app(s(),x)),y) -> app#(+(),app(app(*(),x),y)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(*(),app(s(),x)),y) -> app#(app(+(),app(app(*(),x),y)),y) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(+(),x),app(s(),y)) -> app#(app(+(),x),y) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(+(),x),app(s(),y)) -> app#(s(),app(app(+(),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(+(),x),app(s(),y)) -> app#(app(+(),x),y) -> app#(app(+(),x),app(s(),y)) -> app#(app(+(),x),y) app#(app(+(),x),app(s(),y)) -> app#(app(+(),x),y) -> app#(app(+(),x),app(s(),y)) -> app#(s(),app(app(+(),x),y)) app#(app(*(),app(s(),x)),y) -> app#(app(+(),app(app(*(),x),y)),y) -> app#(app(+(),x),app(s(),y)) -> app#(app(+(),x),y) app#(app(*(),app(s(),x)),y) -> app#(app(+(),app(app(*(),x),y)),y) -> app#(app(+(),x),app(s(),y)) -> app#(s(),app(app(+(),x),y)) app#(app(*(),app(s(),x)),y) -> app#(app(*(),x),y) -> app#(app(*(),app(s(),x)),y) -> app#(*(),x) app#(app(*(),app(s(),x)),y) -> app#(app(*(),x),y) -> app#(app(*(),app(s(),x)),y) -> app#(app(*(),x),y) app#(app(*(),app(s(),x)),y) -> app#(app(*(),x),y) -> app#(app(*(),app(s(),x)),y) -> app#(+(),app(app(*(),x),y)) app#(app(*(),app(s(),x)),y) -> app#(app(*(),x),y) -> app#(app(*(),app(s(),x)),y) -> app#(app(+(),app(app(*(),x),y)),y) 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) SCC Processor: #sccs: 4 #rules: 9 #arcs: 89/676 DPs: 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(),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(),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(p(),app(s(),x)) -> x app(fact(),0()) -> app(s(),0()) app(fact(),app(s(),x)) -> app(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) app(app(*(),0()),y) -> 0() app(app(*(),app(s(),x)),y) -> app(app(+(),app(app(*(),x),y)),y) app(app(+(),x),0()) -> x app(app(+(),x),app(s(),y)) -> app(s(),app(app(+(),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 DPs: app#(fact(),app(s(),x)) -> app#(fact(),app(p(),app(s(),x))) TRS: app(p(),app(s(),x)) -> x app(fact(),0()) -> app(s(),0()) app(fact(),app(s(),x)) -> app(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) app(app(*(),0()),y) -> 0() app(app(*(),app(s(),x)),y) -> app(app(+(),app(app(*(),x),y)),y) app(app(+(),x),0()) -> x app(app(+(),x),app(s(),y)) -> app(s(),app(app(+(),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 DPs: app#(app(*(),app(s(),x)),y) -> app#(app(*(),x),y) TRS: app(p(),app(s(),x)) -> x app(fact(),0()) -> app(s(),0()) app(fact(),app(s(),x)) -> app(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) app(app(*(),0()),y) -> 0() app(app(*(),app(s(),x)),y) -> app(app(+(),app(app(*(),x),y)),y) app(app(+(),x),0()) -> x app(app(+(),x),app(s(),y)) -> app(s(),app(app(+(),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 DPs: app#(app(+(),x),app(s(),y)) -> app#(app(+(),x),y) TRS: app(p(),app(s(),x)) -> x app(fact(),0()) -> app(s(),0()) app(fact(),app(s(),x)) -> app(app(*(),app(s(),x)),app(fact(),app(p(),app(s(),x)))) app(app(*(),0()),y) -> 0() app(app(*(),app(s(),x)),y) -> app(app(+(),app(app(*(),x),y)),y) app(app(+(),x),0()) -> x app(app(+(),x),app(s(),y)) -> app(s(),app(app(+(),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