MAYBE Problem: app(app(h(),z),app(e(),x)) -> app(app(h(),app(c(),z)),app(app(d(),z),x)) app(app(d(),z),app(app(g(),0()),0())) -> app(e(),0()) app(app(d(),z),app(app(g(),x),y)) -> app(app(g(),app(e(),x)),app(app(d(),z),y)) app(app(d(),app(c(),z)),app(app(g(),app(app(g(),x),y)),0())) -> app(app(g(),app(app(d(),app(c(),z)),app(app(g(),x),y))),app(app(d(),z),app(app(g(),x),y))) app(app(g(),app(e(),x)),app(e(),y)) -> app(e(),app(app(g(),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#(app(h(),z),app(e(),x)) -> app#(d(),z) app#(app(h(),z),app(e(),x)) -> app#(app(d(),z),x) app#(app(h(),z),app(e(),x)) -> app#(c(),z) app#(app(h(),z),app(e(),x)) -> app#(h(),app(c(),z)) app#(app(h(),z),app(e(),x)) -> app#(app(h(),app(c(),z)),app(app(d(),z),x)) app#(app(d(),z),app(app(g(),0()),0())) -> app#(e(),0()) app#(app(d(),z),app(app(g(),x),y)) -> app#(app(d(),z),y) app#(app(d(),z),app(app(g(),x),y)) -> app#(e(),x) app#(app(d(),z),app(app(g(),x),y)) -> app#(g(),app(e(),x)) app#(app(d(),z),app(app(g(),x),y)) -> app#(app(g(),app(e(),x)),app(app(d(),z),y)) app#(app(d(),app(c(),z)),app(app(g(),app(app(g(),x),y)),0())) -> app#(d(),z) app#(app(d(),app(c(),z)),app(app(g(),app(app(g(),x),y)),0())) -> app#(app(d(),z),app(app(g(),x),y)) app#(app(d(),app(c(),z)),app(app(g(),app(app(g(),x),y)),0())) -> app#(app(d(),app(c(),z)),app(app(g(),x),y)) app#(app(d(),app(c(),z)),app(app(g(),app(app(g(),x),y)),0())) -> app#(g(),app(app(d(),app(c(),z)),app(app(g(),x),y))) app#(app(d(),app(c(),z)),app(app(g(),app(app(g(),x),y)),0())) -> app#(app(g(),app(app(d(),app(c(),z)),app(app(g(),x),y))),app(app(d(),z),app(app(g(),x),y))) app#(app(g(),app(e(),x)),app(e(),y)) -> app#(g(),x) app#(app(g(),app(e(),x)),app(e(),y)) -> app#(app(g(),x),y) app#(app(g(),app(e(),x)),app(e(),y)) -> app#(e(),app(app(g(),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(app(h(),z),app(e(),x)) -> app(app(h(),app(c(),z)),app(app(d(),z),x)) app(app(d(),z),app(app(g(),0()),0())) -> app(e(),0()) app(app(d(),z),app(app(g(),x),y)) -> app(app(g(),app(e(),x)),app(app(d(),z),y)) app(app(d(),app(c(),z)),app(app(g(),app(app(g(),x),y)),0())) -> app(app(g(),app(app(d(),app(c(),z)),app(app(g(),x),y))),app(app(d(),z),app(app(g(),x),y))) app(app(g(),app(e(),x)),app(e(),y)) -> app(e(),app(app(g(),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