YES Problem: 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(app(comp(),f),g),x) -> app(f,app(g,x)) app(twice(),f) -> app(app(comp(),f),f) Proof: DP Processor: DPs: 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(app(comp(),f),g),x) -> app#(g,x) app#(app(app(comp(),f),g),x) -> app#(f,app(g,x)) app#(twice(),f) -> app#(comp(),f) app#(twice(),f) -> app#(app(comp(),f),f) TRS: 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(app(comp(),f),g),x) -> app(f,app(g,x)) app(twice(),f) -> app(app(comp(),f),f) EDG Processor: DPs: 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(app(comp(),f),g),x) -> app#(g,x) app#(app(app(comp(),f),g),x) -> app#(f,app(g,x)) app#(twice(),f) -> app#(comp(),f) app#(twice(),f) -> app#(app(comp(),f),f) TRS: 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(app(comp(),f),g),x) -> app(f,app(g,x)) app(twice(),f) -> app(app(comp(),f),f) graph: app#(app(app(comp(),f),g),x) -> app#(g,x) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) app#(app(app(comp(),f),g),x) -> app#(g,x) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(app(comp(),f),g),x) -> app#(g,x) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(cons(),app(f,x)) app#(app(app(comp(),f),g),x) -> app#(g,x) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(cons(),app(f,x)),app(app(map(),f),xs)) app#(app(app(comp(),f),g),x) -> app#(g,x) -> app#(app(app(comp(),f),g),x) -> app#(g,x) app#(app(app(comp(),f),g),x) -> app#(g,x) -> app#(app(app(comp(),f),g),x) -> app#(f,app(g,x)) app#(app(app(comp(),f),g),x) -> app#(g,x) -> app#(twice(),f) -> app#(comp(),f) app#(app(app(comp(),f),g),x) -> app#(g,x) -> app#(twice(),f) -> app#(app(comp(),f),f) app#(app(app(comp(),f),g),x) -> app#(f,app(g,x)) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) app#(app(app(comp(),f),g),x) -> app#(f,app(g,x)) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(app(app(comp(),f),g),x) -> app#(f,app(g,x)) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(cons(),app(f,x)) app#(app(app(comp(),f),g),x) -> app#(f,app(g,x)) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(cons(),app(f,x)),app(app(map(),f),xs)) app#(app(app(comp(),f),g),x) -> app#(f,app(g,x)) -> app#(app(app(comp(),f),g),x) -> app#(g,x) app#(app(app(comp(),f),g),x) -> app#(f,app(g,x)) -> app#(app(app(comp(),f),g),x) -> app#(f,app(g,x)) app#(app(app(comp(),f),g),x) -> app#(f,app(g,x)) -> app#(twice(),f) -> app#(comp(),f) app#(app(app(comp(),f),g),x) -> app#(f,app(g,x)) -> app#(twice(),f) -> app#(app(comp(),f),f) 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(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(app(comp(),f),g),x) -> app#(g,x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(app(comp(),f),g),x) -> app#(f,app(g,x)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(twice(),f) -> app#(comp(),f) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(twice(),f) -> app#(app(comp(),f),f) SCC Processor: #sccs: 1 #rules: 4 #arcs: 28/64 DPs: app#(app(app(comp(),f),g),x) -> app#(g,x) app#(app(app(comp(),f),g),x) -> app#(f,app(g,x)) 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(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(app(comp(),f),g),x) -> app(f,app(g,x)) app(twice(),f) -> app(app(comp(),f),f) Subterm Criterion Processor: simple projection: pi(app#) = 0 problem: DPs: app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) TRS: 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(app(comp(),f),g),x) -> app(f,app(g,x)) app(twice(),f) -> app(app(comp(),f),f) Subterm Criterion Processor: simple projection: pi(app#) = 1 problem: DPs: TRS: 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(app(comp(),f),g),x) -> app(f,app(g,x)) app(twice(),f) -> app(app(comp(),f),f) Qed