YES Problem: a(f(),0()) -> a(s(),0()) a(d(),0()) -> 0() a(d(),a(s(),x)) -> a(s(),a(s(),a(d(),a(p(),a(s(),x))))) a(f(),a(s(),x)) -> a(d(),a(f(),a(p(),a(s(),x)))) a(p(),a(s(),x)) -> x Proof: Uncurry Processor: f1(0()) -> s1(0()) d1(0()) -> 0() d1(s1(x)) -> s1(s1(d1(p1(s1(x))))) f1(s1(x)) -> d1(f1(p1(s1(x)))) p1(s1(x)) -> x a(f(),x1) -> f1(x1) a(s(),x1) -> s1(x1) a(d(),x1) -> d1(x1) a(p(),x1) -> p1(x1) Matrix Interpretation Processor: dim=3 interpretation: [1 0 0] [0] [p1](x0) = [0 0 1]x0 + [0] [0 0 1] [1], [1 0 0] [d1](x0) = [0 0 0]x0 [0 0 0] , [1 0 0] [s1](x0) = [0 0 0]x0 [0 1 1] , [1 0 0] [1] [f1](x0) = [1 0 1]x0 + [0] [0 1 0] [0], [0] [p] = [1] [0], [0] [d] = [0] [0], [0] [s] = [0] [0], [1 0 0] [1 1 1] [1] [a](x0, x1) = [0 0 0]x0 + [1 0 1]x1 + [1] [0 1 0] [0 1 1] [0], [0] [0] = [0] [0], [0] [f] = [1] [0] orientation: [1] [0] f1(0()) = [0] >= [0] = s1(0()) [0] [0] [0] [0] d1(0()) = [0] >= [0] = 0() [0] [0] [1 0 0] [1 0 0] d1(s1(x)) = [0 0 0]x >= [0 0 0]x = s1(s1(d1(p1(s1(x))))) [0 0 0] [0 0 0] [1 0 0] [1] [1 0 0] [1] f1(s1(x)) = [1 1 1]x + [0] >= [0 0 0]x + [0] = d1(f1(p1(s1(x)))) [0 0 0] [0] [0 0 0] [0] [1 0 0] [0] p1(s1(x)) = [0 1 1]x + [0] >= x = x [0 1 1] [1] [1 1 1] [1] [1 0 0] [1] a(f(),x1) = [1 0 1]x1 + [1] >= [1 0 1]x1 + [0] = f1(x1) [0 1 1] [1] [0 1 0] [0] [1 1 1] [1] [1 0 0] a(s(),x1) = [1 0 1]x1 + [1] >= [0 0 0]x1 = s1(x1) [0 1 1] [0] [0 1 1] [1 1 1] [1] [1 0 0] a(d(),x1) = [1 0 1]x1 + [1] >= [0 0 0]x1 = d1(x1) [0 1 1] [0] [0 0 0] [1 1 1] [1] [1 0 0] [0] a(p(),x1) = [1 0 1]x1 + [1] >= [0 0 1]x1 + [0] = p1(x1) [0 1 1] [1] [0 0 1] [1] problem: d1(0()) -> 0() d1(s1(x)) -> s1(s1(d1(p1(s1(x))))) f1(s1(x)) -> d1(f1(p1(s1(x)))) p1(s1(x)) -> x a(f(),x1) -> f1(x1) Matrix Interpretation Processor: dim=3 interpretation: [1 0 0] [0] [p1](x0) = [0 1 0]x0 + [0] [0 1 0] [1], [1 1 0] [d1](x0) = [0 1 0]x0 [0 0 0] , [1 0 0] [s1](x0) = [0 1 1]x0 [0 0 0] , [1 0 0] [1] [f1](x0) = [0 0 0]x0 + [0] [1 1 0] [0], [1 0 1] [1 1 0] [a](x0, x1) = [0 0 0]x0 + [0 0 0]x1 [0 0 0] [1 1 1] , [0] [0] = [1] [0], [0] [f] = [0] [1] orientation: [1] [0] d1(0()) = [1] >= [1] = 0() [0] [0] [1 1 1] [1 1 1] d1(s1(x)) = [0 1 1]x >= [0 1 1]x = s1(s1(d1(p1(s1(x))))) [0 0 0] [0 0 0] [1 0 0] [1] [1 0 0] [1] f1(s1(x)) = [0 0 0]x + [0] >= [0 0 0]x + [0] = d1(f1(p1(s1(x)))) [1 1 1] [0] [0 0 0] [0] [1 0 0] [0] p1(s1(x)) = [0 1 1]x + [0] >= x = x [0 1 1] [1] [1 1 0] [1] [1 0 0] [1] a(f(),x1) = [0 0 0]x1 + [0] >= [0 0 0]x1 + [0] = f1(x1) [1 1 1] [0] [1 1 0] [0] problem: d1(s1(x)) -> s1(s1(d1(p1(s1(x))))) f1(s1(x)) -> d1(f1(p1(s1(x)))) p1(s1(x)) -> x a(f(),x1) -> f1(x1) Matrix Interpretation Processor: dim=3 interpretation: [1 0 0] [p1](x0) = [1 0 0]x0 [1 1 0] , [1 0 0] [d1](x0) = [0 0 0]x0 [0 0 0] , [1 1 0] [s1](x0) = [0 0 1]x0 [0 0 0] , [1 0 0] [0] [f1](x0) = [1 0 0]x0 + [1] [0 0 0] [0], [1 1 0] [1 1 0] [0] [a](x0, x1) = [0 0 0]x0 + [1 1 1]x1 + [1] [0 0 0] [1 0 0] [0], [0] [f] = [1] [0] orientation: [1 1 0] [1 1 0] d1(s1(x)) = [0 0 0]x >= [0 0 0]x = s1(s1(d1(p1(s1(x))))) [0 0 0] [0 0 0] [1 1 0] [0] [1 1 0] f1(s1(x)) = [1 1 0]x + [1] >= [0 0 0]x = d1(f1(p1(s1(x)))) [0 0 0] [0] [0 0 0] [1 1 0] p1(s1(x)) = [1 1 0]x >= x = x [1 1 1] [1 1 0] [1] [1 0 0] [0] a(f(),x1) = [1 1 1]x1 + [1] >= [1 0 0]x1 + [1] = f1(x1) [1 0 0] [0] [0 0 0] [0] problem: d1(s1(x)) -> s1(s1(d1(p1(s1(x))))) f1(s1(x)) -> d1(f1(p1(s1(x)))) p1(s1(x)) -> x DP Processor: DPs: d{1,#}(s1(x)) -> p{1,#}(s1(x)) d{1,#}(s1(x)) -> d{1,#}(p1(s1(x))) f{1,#}(s1(x)) -> p{1,#}(s1(x)) f{1,#}(s1(x)) -> f{1,#}(p1(s1(x))) f{1,#}(s1(x)) -> d{1,#}(f1(p1(s1(x)))) TRS: d1(s1(x)) -> s1(s1(d1(p1(s1(x))))) f1(s1(x)) -> d1(f1(p1(s1(x)))) p1(s1(x)) -> x TDG Processor: DPs: d{1,#}(s1(x)) -> p{1,#}(s1(x)) d{1,#}(s1(x)) -> d{1,#}(p1(s1(x))) f{1,#}(s1(x)) -> p{1,#}(s1(x)) f{1,#}(s1(x)) -> f{1,#}(p1(s1(x))) f{1,#}(s1(x)) -> d{1,#}(f1(p1(s1(x)))) TRS: d1(s1(x)) -> s1(s1(d1(p1(s1(x))))) f1(s1(x)) -> d1(f1(p1(s1(x)))) p1(s1(x)) -> x graph: f{1,#}(s1(x)) -> f{1,#}(p1(s1(x))) -> f{1,#}(s1(x)) -> d{1,#}(f1(p1(s1(x)))) f{1,#}(s1(x)) -> f{1,#}(p1(s1(x))) -> f{1,#}(s1(x)) -> f{1,#}(p1(s1(x))) f{1,#}(s1(x)) -> f{1,#}(p1(s1(x))) -> f{1,#}(s1(x)) -> p{1,#}(s1(x)) f{1,#}(s1(x)) -> d{1,#}(f1(p1(s1(x)))) -> d{1,#}(s1(x)) -> d{1,#}(p1(s1(x))) f{1,#}(s1(x)) -> d{1,#}(f1(p1(s1(x)))) -> d{1,#}(s1(x)) -> p{1,#}(s1(x)) d{1,#}(s1(x)) -> d{1,#}(p1(s1(x))) -> d{1,#}(s1(x)) -> d{1,#}(p1(s1(x))) d{1,#}(s1(x)) -> d{1,#}(p1(s1(x))) -> d{1,#}(s1(x)) -> p{1,#}(s1(x)) SCC Processor: #sccs: 2 #rules: 2 #arcs: 7/25 DPs: f{1,#}(s1(x)) -> f{1,#}(p1(s1(x))) TRS: d1(s1(x)) -> s1(s1(d1(p1(s1(x))))) f1(s1(x)) -> d1(f1(p1(s1(x)))) p1(s1(x)) -> x CDG Processor: DPs: f{1,#}(s1(x)) -> f{1,#}(p1(s1(x))) TRS: d1(s1(x)) -> s1(s1(d1(p1(s1(x))))) f1(s1(x)) -> d1(f1(p1(s1(x)))) p1(s1(x)) -> x graph: Qed DPs: d{1,#}(s1(x)) -> d{1,#}(p1(s1(x))) TRS: d1(s1(x)) -> s1(s1(d1(p1(s1(x))))) f1(s1(x)) -> d1(f1(p1(s1(x)))) p1(s1(x)) -> x CDG Processor: DPs: d{1,#}(s1(x)) -> d{1,#}(p1(s1(x))) TRS: d1(s1(x)) -> s1(s1(d1(p1(s1(x))))) f1(s1(x)) -> d1(f1(p1(s1(x)))) p1(s1(x)) -> x graph: Qed