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(flatten(),app(app(node(),x),xs)) -> app(app(cons(),x),app(concat(),app(app(map(),flatten()),xs))) app(concat(),nil()) -> nil() app(concat(),app(app(cons(),x),xs)) -> app(app(append(),x),app(concat(),xs)) app(app(append(),nil()),xs) -> xs app(app(append(),app(app(cons(),x),xs)),ys) -> app(app(cons(),x),app(app(append(),xs),ys)) 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#(flatten(),app(app(node(),x),xs)) -> app#(map(),flatten()) app#(flatten(),app(app(node(),x),xs)) -> app#(app(map(),flatten()),xs) app#(flatten(),app(app(node(),x),xs)) -> app#(concat(),app(app(map(),flatten()),xs)) app#(flatten(),app(app(node(),x),xs)) -> app#(cons(),x) app#(flatten(),app(app(node(),x),xs)) -> app#(app(cons(),x),app(concat(),app(app(map(),flatten()),xs))) app#(concat(),app(app(cons(),x),xs)) -> app#(concat(),xs) app#(concat(),app(app(cons(),x),xs)) -> app#(append(),x) app#(concat(),app(app(cons(),x),xs)) -> app#(app(append(),x),app(concat(),xs)) app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(append(),xs) app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(append(),xs),ys) app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(cons(),x),app(app(append(),xs),ys)) 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(flatten(),app(app(node(),x),xs)) -> app(app(cons(),x),app(concat(),app(app(map(),flatten()),xs))) app(concat(),nil()) -> nil() app(concat(),app(app(cons(),x),xs)) -> app(app(append(),x),app(concat(),xs)) app(app(append(),nil()),xs) -> xs app(app(append(),app(app(cons(),x),xs)),ys) -> app(app(cons(),x),app(app(append(),xs),ys)) 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#(flatten(),app(app(node(),x),xs)) -> app#(map(),flatten()) app#(flatten(),app(app(node(),x),xs)) -> app#(app(map(),flatten()),xs) app#(flatten(),app(app(node(),x),xs)) -> app#(concat(),app(app(map(),flatten()),xs)) app#(flatten(),app(app(node(),x),xs)) -> app#(cons(),x) app#(flatten(),app(app(node(),x),xs)) -> app#(app(cons(),x),app(concat(),app(app(map(),flatten()),xs))) app#(concat(),app(app(cons(),x),xs)) -> app#(concat(),xs) app#(concat(),app(app(cons(),x),xs)) -> app#(append(),x) app#(concat(),app(app(cons(),x),xs)) -> app#(app(append(),x),app(concat(),xs)) app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(append(),xs) app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(append(),xs),ys) app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(cons(),x),app(app(append(),xs),ys)) 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(flatten(),app(app(node(),x),xs)) -> app(app(cons(),x),app(concat(),app(app(map(),flatten()),xs))) app(concat(),nil()) -> nil() app(concat(),app(app(cons(),x),xs)) -> app(app(append(),x),app(concat(),xs)) app(app(append(),nil()),xs) -> xs app(app(append(),app(app(cons(),x),xs)),ys) -> app(app(cons(),x),app(app(append(),xs),ys)) graph: app#(concat(),app(app(cons(),x),xs)) -> app#(concat(),xs) -> app#(concat(),app(app(cons(),x),xs)) -> app#(concat(),xs) app#(concat(),app(app(cons(),x),xs)) -> app#(concat(),xs) -> app#(concat(),app(app(cons(),x),xs)) -> app#(append(),x) app#(concat(),app(app(cons(),x),xs)) -> app#(concat(),xs) -> app#(concat(),app(app(cons(),x),xs)) -> app#(app(append(),x),app(concat(),xs)) app#(concat(),app(app(cons(),x),xs)) -> app#(app(append(),x),app(concat(),xs)) -> app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(append(),xs) app#(concat(),app(app(cons(),x),xs)) -> app#(app(append(),x),app(concat(),xs)) -> app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(append(),xs),ys) app#(concat(),app(app(cons(),x),xs)) -> app#(app(append(),x),app(concat(),xs)) -> app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(cons(),x),app(app(append(),xs),ys)) app#(flatten(),app(app(node(),x),xs)) -> app#(concat(),app(app(map(),flatten()),xs)) -> app#(concat(),app(app(cons(),x),xs)) -> app#(concat(),xs) app#(flatten(),app(app(node(),x),xs)) -> app#(concat(),app(app(map(),flatten()),xs)) -> app#(concat(),app(app(cons(),x),xs)) -> app#(append(),x) app#(flatten(),app(app(node(),x),xs)) -> app#(concat(),app(app(map(),flatten()),xs)) -> app#(concat(),app(app(cons(),x),xs)) -> app#(app(append(),x),app(concat(),xs)) app#(flatten(),app(app(node(),x),xs)) -> app#(app(map(),flatten()),xs) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(map(),f),xs) app#(flatten(),app(app(node(),x),xs)) -> app#(app(map(),flatten()),xs) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) app#(flatten(),app(app(node(),x),xs)) -> app#(app(map(),flatten()),xs) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(cons(),app(f,x)) app#(flatten(),app(app(node(),x),xs)) -> app#(app(map(),flatten()),xs) -> app#(app(map(),f),app(app(cons(),x),xs)) -> app#(app(cons(),app(f,x)),app(app(map(),f),xs)) app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(append(),xs),ys) -> app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(append(),xs) app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(append(),xs),ys) -> app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(append(),xs),ys) app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(append(),xs),ys) -> app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(cons(),x),app(app(append(),xs),ys)) 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#(flatten(),app(app(node(),x),xs)) -> app#(map(),flatten()) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(flatten(),app(app(node(),x),xs)) -> app#(app(map(),flatten()),xs) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(flatten(),app(app(node(),x),xs)) -> app#(concat(),app(app(map(),flatten()),xs)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(flatten(),app(app(node(),x),xs)) -> app#(cons(),x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(flatten(),app(app(node(),x),xs)) -> app#(app(cons(),x),app(concat(),app(app(map(),flatten()),xs))) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(concat(),app(app(cons(),x),xs)) -> app#(concat(),xs) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(concat(),app(app(cons(),x),xs)) -> app#(append(),x) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(concat(),app(app(cons(),x),xs)) -> app#(app(append(),x),app(concat(),xs)) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(append(),xs) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(append(),xs),ys) app#(app(map(),f),app(app(cons(),x),xs)) -> app#(f,x) -> app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(cons(),x),app(app(append(),xs),ys)) SCC Processor: #sccs: 3 #rules: 5 #arcs: 35/225 DPs: app#(flatten(),app(app(node(),x),xs)) -> app#(app(map(),flatten()),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(flatten(),app(app(node(),x),xs)) -> app(app(cons(),x),app(concat(),app(app(map(),flatten()),xs))) app(concat(),nil()) -> nil() app(concat(),app(app(cons(),x),xs)) -> app(app(append(),x),app(concat(),xs)) app(app(append(),nil()),xs) -> xs app(app(append(),app(app(cons(),x),xs)),ys) -> app(app(cons(),x),app(app(append(),xs),ys)) 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(flatten(),app(app(node(),x),xs)) -> app(app(cons(),x),app(concat(),app(app(map(),flatten()),xs))) app(concat(),nil()) -> nil() app(concat(),app(app(cons(),x),xs)) -> app(app(append(),x),app(concat(),xs)) app(app(append(),nil()),xs) -> xs app(app(append(),app(app(cons(),x),xs)),ys) -> app(app(cons(),x),app(app(append(),xs),ys)) Qed DPs: app#(concat(),app(app(cons(),x),xs)) -> app#(concat(),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(flatten(),app(app(node(),x),xs)) -> app(app(cons(),x),app(concat(),app(app(map(),flatten()),xs))) app(concat(),nil()) -> nil() app(concat(),app(app(cons(),x),xs)) -> app(app(append(),x),app(concat(),xs)) app(app(append(),nil()),xs) -> xs app(app(append(),app(app(cons(),x),xs)),ys) -> app(app(cons(),x),app(app(append(),xs),ys)) 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(flatten(),app(app(node(),x),xs)) -> app(app(cons(),x),app(concat(),app(app(map(),flatten()),xs))) app(concat(),nil()) -> nil() app(concat(),app(app(cons(),x),xs)) -> app(app(append(),x),app(concat(),xs)) app(app(append(),nil()),xs) -> xs app(app(append(),app(app(cons(),x),xs)),ys) -> app(app(cons(),x),app(app(append(),xs),ys)) Qed DPs: app#(app(append(),app(app(cons(),x),xs)),ys) -> app#(app(append(),xs),ys) 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(flatten(),app(app(node(),x),xs)) -> app(app(cons(),x),app(concat(),app(app(map(),flatten()),xs))) app(concat(),nil()) -> nil() app(concat(),app(app(cons(),x),xs)) -> app(app(append(),x),app(concat(),xs)) app(app(append(),nil()),xs) -> xs app(app(append(),app(app(cons(),x),xs)),ys) -> app(app(cons(),x),app(app(append(),xs),ys)) Open