YES Problem: a(lambda(x),y) -> lambda(a(x,p(1(),a(y,t())))) a(p(x,y),z) -> p(a(x,z),a(y,z)) a(a(x,y),z) -> a(x,a(y,z)) a(id(),x) -> x a(1(),id()) -> 1() a(t(),id()) -> t() a(1(),p(x,y)) -> x a(t(),p(x,y)) -> y Proof: DP Processor: DPs: a#(lambda(x),y) -> a#(y,t()) a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) a#(p(x,y),z) -> a#(y,z) a#(p(x,y),z) -> a#(x,z) a#(a(x,y),z) -> a#(y,z) a#(a(x,y),z) -> a#(x,a(y,z)) TRS: a(lambda(x),y) -> lambda(a(x,p(1(),a(y,t())))) a(p(x,y),z) -> p(a(x,z),a(y,z)) a(a(x,y),z) -> a(x,a(y,z)) a(id(),x) -> x a(1(),id()) -> 1() a(t(),id()) -> t() a(1(),p(x,y)) -> x a(t(),p(x,y)) -> y Maximal Polynomial Processor: usable rules: a(lambda(x),y) -> lambda(a(x,p(1(),a(y,t())))) a(p(x,y),z) -> p(a(x,z),a(y,z)) a(a(x,y),z) -> a(x,a(y,z)) a(id(),x) -> x a(1(),id()) -> 1() a(t(),id()) -> t() a(1(),p(x,y)) -> x a(t(),p(x,y)) -> y interpretations: a#(x0, x1) = max(0, 0 + 1 + x0 + -1 + x1) id = 0 p(x0, x1) = max(0, x0, x1) t = 0 1 = 0 a(x0, x1) = max(0, 0 + x0 + x1) lambda(x0) = max(0, 1 + x0) problem: DPs: a#(p(x,y),z) -> a#(y,z) a#(p(x,y),z) -> a#(x,z) a#(a(x,y),z) -> a#(y,z) a#(a(x,y),z) -> a#(x,a(y,z)) TRS: a(lambda(x),y) -> lambda(a(x,p(1(),a(y,t())))) a(p(x,y),z) -> p(a(x,z),a(y,z)) a(a(x,y),z) -> a(x,a(y,z)) a(id(),x) -> x a(1(),id()) -> 1() a(t(),id()) -> t() a(1(),p(x,y)) -> x a(t(),p(x,y)) -> y Restore Modifier: DPs: a#(p(x,y),z) -> a#(y,z) a#(p(x,y),z) -> a#(x,z) a#(a(x,y),z) -> a#(y,z) a#(a(x,y),z) -> a#(x,a(y,z)) TRS: a(lambda(x),y) -> lambda(a(x,p(1(),a(y,t())))) a(p(x,y),z) -> p(a(x,z),a(y,z)) a(a(x,y),z) -> a(x,a(y,z)) a(id(),x) -> x a(1(),id()) -> 1() a(t(),id()) -> t() a(1(),p(x,y)) -> x a(t(),p(x,y)) -> y Subterm Criterion Processor: simple projection: pi(a#) = 0 problem: DPs: TRS: a(lambda(x),y) -> lambda(a(x,p(1(),a(y,t())))) a(p(x,y),z) -> p(a(x,z),a(y,z)) a(a(x,y),z) -> a(x,a(y,z)) a(id(),x) -> x a(1(),id()) -> 1() a(t(),id()) -> t() a(1(),p(x,y)) -> x a(t(),p(x,y)) -> y Qed