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)) lambda(x) -> x a(x,y) -> x a(x,y) -> y p(x,y) -> x p(x,y) -> y Proof: DP Processor: DPs: a#(lambda(x),y) -> a#(y,t()) a#(lambda(x),y) -> p#(1(),a(y,t())) a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) a#(lambda(x),y) -> lambda#(a(x,p(1(),a(y,t())))) a#(p(x,y),z) -> a#(y,z) a#(p(x,y),z) -> a#(x,z) a#(p(x,y),z) -> p#(a(x,z),a(y,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)) lambda(x) -> x a(x,y) -> x a(x,y) -> y p(x,y) -> x p(x,y) -> y TDG Processor: DPs: a#(lambda(x),y) -> a#(y,t()) a#(lambda(x),y) -> p#(1(),a(y,t())) a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) a#(lambda(x),y) -> lambda#(a(x,p(1(),a(y,t())))) a#(p(x,y),z) -> a#(y,z) a#(p(x,y),z) -> a#(x,z) a#(p(x,y),z) -> p#(a(x,z),a(y,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)) lambda(x) -> x a(x,y) -> x a(x,y) -> y p(x,y) -> x p(x,y) -> y graph: a#(p(x,y),z) -> a#(y,z) -> a#(a(x,y),z) -> a#(x,a(y,z)) a#(p(x,y),z) -> a#(y,z) -> a#(a(x,y),z) -> a#(y,z) a#(p(x,y),z) -> a#(y,z) -> a#(p(x,y),z) -> p#(a(x,z),a(y,z)) a#(p(x,y),z) -> a#(y,z) -> a#(p(x,y),z) -> a#(x,z) a#(p(x,y),z) -> a#(y,z) -> a#(p(x,y),z) -> a#(y,z) a#(p(x,y),z) -> a#(y,z) -> a#(lambda(x),y) -> lambda#(a(x,p(1(),a(y,t())))) a#(p(x,y),z) -> a#(y,z) -> a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) a#(p(x,y),z) -> a#(y,z) -> a#(lambda(x),y) -> p#(1(),a(y,t())) a#(p(x,y),z) -> a#(y,z) -> a#(lambda(x),y) -> a#(y,t()) a#(p(x,y),z) -> a#(x,z) -> a#(a(x,y),z) -> a#(x,a(y,z)) a#(p(x,y),z) -> a#(x,z) -> a#(a(x,y),z) -> a#(y,z) a#(p(x,y),z) -> a#(x,z) -> a#(p(x,y),z) -> p#(a(x,z),a(y,z)) a#(p(x,y),z) -> a#(x,z) -> a#(p(x,y),z) -> a#(x,z) a#(p(x,y),z) -> a#(x,z) -> a#(p(x,y),z) -> a#(y,z) a#(p(x,y),z) -> a#(x,z) -> a#(lambda(x),y) -> lambda#(a(x,p(1(),a(y,t())))) a#(p(x,y),z) -> a#(x,z) -> a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) a#(p(x,y),z) -> a#(x,z) -> a#(lambda(x),y) -> p#(1(),a(y,t())) a#(p(x,y),z) -> a#(x,z) -> a#(lambda(x),y) -> a#(y,t()) a#(a(x,y),z) -> a#(y,z) -> a#(a(x,y),z) -> a#(x,a(y,z)) a#(a(x,y),z) -> a#(y,z) -> a#(a(x,y),z) -> a#(y,z) a#(a(x,y),z) -> a#(y,z) -> a#(p(x,y),z) -> p#(a(x,z),a(y,z)) a#(a(x,y),z) -> a#(y,z) -> a#(p(x,y),z) -> a#(x,z) a#(a(x,y),z) -> a#(y,z) -> a#(p(x,y),z) -> a#(y,z) a#(a(x,y),z) -> a#(y,z) -> a#(lambda(x),y) -> lambda#(a(x,p(1(),a(y,t())))) a#(a(x,y),z) -> a#(y,z) -> a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) a#(a(x,y),z) -> a#(y,z) -> a#(lambda(x),y) -> p#(1(),a(y,t())) a#(a(x,y),z) -> a#(y,z) -> a#(lambda(x),y) -> a#(y,t()) a#(a(x,y),z) -> a#(x,a(y,z)) -> a#(a(x,y),z) -> a#(x,a(y,z)) a#(a(x,y),z) -> a#(x,a(y,z)) -> a#(a(x,y),z) -> a#(y,z) a#(a(x,y),z) -> a#(x,a(y,z)) -> a#(p(x,y),z) -> p#(a(x,z),a(y,z)) a#(a(x,y),z) -> a#(x,a(y,z)) -> a#(p(x,y),z) -> a#(x,z) a#(a(x,y),z) -> a#(x,a(y,z)) -> a#(p(x,y),z) -> a#(y,z) a#(a(x,y),z) -> a#(x,a(y,z)) -> a#(lambda(x),y) -> lambda#(a(x,p(1(),a(y,t())))) a#(a(x,y),z) -> a#(x,a(y,z)) -> a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) a#(a(x,y),z) -> a#(x,a(y,z)) -> a#(lambda(x),y) -> p#(1(),a(y,t())) a#(a(x,y),z) -> a#(x,a(y,z)) -> a#(lambda(x),y) -> a#(y,t()) a#(lambda(x),y) -> a#(y,t()) -> a#(a(x,y),z) -> a#(x,a(y,z)) a#(lambda(x),y) -> a#(y,t()) -> a#(a(x,y),z) -> a#(y,z) a#(lambda(x),y) -> a#(y,t()) -> a#(p(x,y),z) -> p#(a(x,z),a(y,z)) a#(lambda(x),y) -> a#(y,t()) -> a#(p(x,y),z) -> a#(x,z) a#(lambda(x),y) -> a#(y,t()) -> a#(p(x,y),z) -> a#(y,z) a#(lambda(x),y) -> a#(y,t()) -> a#(lambda(x),y) -> lambda#(a(x,p(1(),a(y,t())))) a#(lambda(x),y) -> a#(y,t()) -> a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) a#(lambda(x),y) -> a#(y,t()) -> a#(lambda(x),y) -> p#(1(),a(y,t())) a#(lambda(x),y) -> a#(y,t()) -> a#(lambda(x),y) -> a#(y,t()) a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) -> a#(a(x,y),z) -> a#(x,a(y,z)) a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) -> a#(a(x,y),z) -> a#(y,z) a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) -> a#(p(x,y),z) -> p#(a(x,z),a(y,z)) a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) -> a#(p(x,y),z) -> a#(x,z) a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) -> a#(p(x,y),z) -> a#(y,z) a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) -> a#(lambda(x),y) -> lambda#(a(x,p(1(),a(y,t())))) a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) -> a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) -> a#(lambda(x),y) -> p#(1(),a(y,t())) a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) -> a#(lambda(x),y) -> a#(y,t()) SCC Processor: #sccs: 1 #rules: 6 #arcs: 54/81 DPs: a#(p(x,y),z) -> a#(y,z) a#(lambda(x),y) -> a#(y,t()) a#(lambda(x),y) -> a#(x,p(1(),a(y,t()))) 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)) lambda(x) -> x a(x,y) -> x a(x,y) -> y p(x,y) -> x 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)) lambda(x) -> x a(x,y) -> x a(x,y) -> y p(x,y) -> x p(x,y) -> y interpretations: a#(x0, x1) = max(0, 0 + x0 + x1) p(x0, x1) = max(0, x0, x1) t = 0 1 = 0 a(x0, x1) = max(0, 0 + x0 + x1) lambda(x0) = max(0, 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)) lambda(x) -> x a(x,y) -> x a(x,y) -> y p(x,y) -> x 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)) lambda(x) -> x a(x,y) -> x a(x,y) -> y p(x,y) -> x p(x,y) -> y Size-Change Termination Processor: 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)) lambda(x) -> x a(x,y) -> x a(x,y) -> y p(x,y) -> x p(x,y) -> y The DP: a#(p(x,y),z) -> a#(y,z) has the edges: 0 > 0 1 >= 1 The DP: a#(p(x,y),z) -> a#(x,z) has the edges: 0 > 0 1 >= 1 The DP: a#(a(x,y),z) -> a#(y,z) has the edges: 0 > 0 1 >= 1 The DP: a#(a(x,y),z) -> a#(x,a(y,z)) has the edges: 0 > 0 Qed