MAYBE Problem: app(app(minus(),x),0()) -> x app(app(minus(),app(s(),x)),app(s(),y)) -> app(app(minus(),x),y) app(app(quot(),0()),app(s(),y)) -> 0() app(app(quot(),app(s(),x)),app(s(),y)) -> app(s(),app(app(quot(),app(app(minus(),x),y)),app(s(),y))) app(log(),app(s(),0())) -> 0() app(log(),app(s(),app(s(),x))) -> app(s(),app(log(),app(s(),app(app(quot(),x),app(s(),app(s(),0())))))) 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(minus(),app(s(),x)),app(s(),y)) -> app#(minus(),x) app#(app(minus(),app(s(),x)),app(s(),y)) -> app#(app(minus(),x),y) app#(app(quot(),app(s(),x)),app(s(),y)) -> app#(minus(),x) app#(app(quot(),app(s(),x)),app(s(),y)) -> app#(app(minus(),x),y) app#(app(quot(),app(s(),x)),app(s(),y)) -> app#(quot(),app(app(minus(),x),y)) app#(app(quot(),app(s(),x)),app(s(),y)) -> app#(app(quot(),app(app(minus(),x),y)),app(s(),y)) app#(app(quot(),app(s(),x)),app(s(),y)) -> app#(s(),app(app(quot(),app(app(minus(),x),y)),app(s(),y))) app#(log(),app(s(),app(s(),x))) -> app#(s(),0()) app#(log(),app(s(),app(s(),x))) -> app#(s(),app(s(),0())) app#(log(),app(s(),app(s(),x))) -> app#(quot(),x) app#(log(),app(s(),app(s(),x))) -> app#(app(quot(),x),app(s(),app(s(),0()))) app#(log(),app(s(),app(s(),x))) -> app#(s(),app(app(quot(),x),app(s(),app(s(),0())))) app#(log(),app(s(),app(s(),x))) -> app#(log(),app(s(),app(app(quot(),x),app(s(),app(s(),0()))))) app#(log(),app(s(),app(s(),x))) -> app#(s(),app(log(),app(s(),app(app(quot(),x),app(s(),app(s(),0())))))) 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(minus(),x),0()) -> x app(app(minus(),app(s(),x)),app(s(),y)) -> app(app(minus(),x),y) app(app(quot(),0()),app(s(),y)) -> 0() app(app(quot(),app(s(),x)),app(s(),y)) -> app(s(),app(app(quot(),app(app(minus(),x),y)),app(s(),y))) app(log(),app(s(),0())) -> 0() app(log(),app(s(),app(s(),x))) -> app(s(),app(log(),app(s(),app(app(quot(),x),app(s(),app(s(),0())))))) 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