MAYBE 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(sum(),app(app(cons(),x),xs)) -> app(app(plus(),x),app(sum(),xs)) app(size(),app(app(node(),x),xs)) -> app(s(),app(sum(),app(app(map(),size()),xs))) app(app(plus(),0()),x) -> 0() app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) 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#(sum(),app(app(cons(),x),xs)) -> app#(sum(),xs) app#(sum(),app(app(cons(),x),xs)) -> app#(plus(),x) app#(sum(),app(app(cons(),x),xs)) -> app#(app(plus(),x),app(sum(),xs)) app#(size(),app(app(node(),x),xs)) -> app#(map(),size()) app#(size(),app(app(node(),x),xs)) -> app#(app(map(),size()),xs) app#(size(),app(app(node(),x),xs)) -> app#(sum(),app(app(map(),size()),xs)) app#(size(),app(app(node(),x),xs)) -> app#(s(),app(sum(),app(app(map(),size()),xs))) app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) 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(sum(),app(app(cons(),x),xs)) -> app(app(plus(),x),app(sum(),xs)) app(size(),app(app(node(),x),xs)) -> app(s(),app(sum(),app(app(map(),size()),xs))) app(app(plus(),0()),x) -> 0() app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) 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#(sum(),app(app(cons(),x),xs)) -> app#(sum(),xs) app#(sum(),app(app(cons(),x),xs)) -> app#(plus(),x) app#(sum(),app(app(cons(),x),xs)) -> app#(app(plus(),x),app(sum(),xs)) app#(size(),app(app(node(),x),xs)) -> app#(map(),size()) app#(size(),app(app(node(),x),xs)) -> app#(app(map(),size()),xs) app#(size(),app(app(node(),x),xs)) -> app#(sum(),app(app(map(),size()),xs)) app#(size(),app(app(node(),x),xs)) -> app#(s(),app(sum(),app(app(map(),size()),xs))) app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) 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(sum(),app(app(cons(),x),xs)) -> app(app(plus(),x),app(sum(),xs)) app(size(),app(app(node(),x),xs)) -> app(s(),app(sum(),app(app(map(),size()),xs))) app(app(plus(),0()),x) -> 0() app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) graph: app#(size(),app(app(node(),x),xs)) -> app#(sum(),app(app(map(),size()),xs)) -> app#(sum(),app(app(cons(),x),xs)) -> app#(sum(),xs) app#(size(),app(app(node(),x),xs)) -> app#(sum(),app(app(map(),size()),xs)) -> app#(sum(),app(app(cons(),x),xs)) -> app#(plus(),x) app#(size(),app(app(node(),x),xs)) -> app#(sum(),app(app(map(),size()),xs)) -> app#(sum(),app(app(cons(),x),xs)) -> app#(app(plus(),x),app(sum(),xs)) app#(size(),app(app(node(),x),xs)) -> app#(app(map(),size()),xs) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) app#(size(),app(app(node(),x),xs)) -> app#(app(map(),size()),xs) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(size(),app(app(node(),x),xs)) -> app#(app(map(),size()),xs) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(cons(),app(f,x)) app#(size(),app(app(node(),x),xs)) -> app#(app(map(),size()),xs) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(cons(),app(f,x)),app(app(map(),f),xs)) app#(sum(),app(app(cons(),x),xs)) -> app#(sum(),xs) -> app#(sum(),app(app(cons(),x),xs)) -> app#(sum(),xs) app#(sum(),app(app(cons(),x),xs)) -> app#(sum(),xs) -> app#(sum(),app(app(cons(),x),xs)) -> app#(plus(),x) app#(sum(),app(app(cons(),x),xs)) -> app#(sum(),xs) -> app#(sum(),app(app(cons(),x),xs)) -> app#(app(plus(),x),app(sum(),xs)) app#(sum(),app(app(cons(),x),xs)) -> app#(app(plus(),x),app(sum(),xs)) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(sum(),app(app(cons(),x),xs)) -> app#(app(plus(),x),app(sum(),xs)) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(sum(),app(app(cons(),x),xs)) -> app#(app(plus(),x),app(sum(),xs)) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),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#(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#(sum(),app(app(cons(),x),xs)) -> app#(sum(),xs) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(sum(),app(app(cons(),x),xs)) -> app#(plus(),x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(sum(),app(app(cons(),x),xs)) -> app#(app(plus(),x),app(sum(),xs)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(size(),app(app(node(),x),xs)) -> app#(map(),size()) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(size(),app(app(node(),x),xs)) -> app#(app(map(),size()),xs) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(size(),app(app(node(),x),xs)) -> app#(sum(),app(app(map(),size()),xs)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(size(),app(app(node(),x),xs)) -> app#(s(),app(sum(),app(app(map(),size()),xs))) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(plus(),app(s(),x)),y) -> app#(plus(),x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(plus(),app(s(),x)),y) -> app#(s(),app(app(plus(),x),y)) SCC Processor: #sccs: 3 #rules: 5 #arcs: 34/196 DPs: app#(size(),app(app(node(),x),xs)) -> app#(app(map(),size()),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(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(sum(),app(app(cons(),x),xs)) -> app(app(plus(),x),app(sum(),xs)) app(size(),app(app(node(),x),xs)) -> app(s(),app(sum(),app(app(map(),size()),xs))) app(app(plus(),0()),x) -> 0() app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) 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(sum(),app(app(cons(),x),xs)) -> app(app(plus(),x),app(sum(),xs)) app(size(),app(app(node(),x),xs)) -> app(s(),app(sum(),app(app(map(),size()),xs))) app(app(plus(),0()),x) -> 0() app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) Qed DPs: app#(sum(),app(app(cons(),x),xs)) -> app#(sum(),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(sum(),app(app(cons(),x),xs)) -> app(app(plus(),x),app(sum(),xs)) app(size(),app(app(node(),x),xs)) -> app(s(),app(sum(),app(app(map(),size()),xs))) app(app(plus(),0()),x) -> 0() app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) 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(sum(),app(app(cons(),x),xs)) -> app(app(plus(),x),app(sum(),xs)) app(size(),app(app(node(),x),xs)) -> app(s(),app(sum(),app(app(map(),size()),xs))) app(app(plus(),0()),x) -> 0() app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) Qed DPs: app#(app(plus(),app(s(),x)),y) -> app#(app(plus(),x),y) 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(sum(),app(app(cons(),x),xs)) -> app(app(plus(),x),app(sum(),xs)) app(size(),app(app(node(),x),xs)) -> app(s(),app(sum(),app(app(map(),size()),xs))) app(app(plus(),0()),x) -> 0() app(app(plus(),app(s(),x)),y) -> app(s(),app(app(plus(),x),y)) Open