YES We show the termination of the TRS R: b(a(),b(c(z,x,y),a())) -> b(b(z,c(y,z,a())),x) f(c(a(),b(b(z,a()),y),x)) -> f(c(x,b(z,x),y)) c(f(c(a(),y,a())),x,z) -> f(b(b(z,z),f(b(y,b(x,a()))))) -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: b#(a(),b(c(z,x,y),a())) -> b#(b(z,c(y,z,a())),x) p2: b#(a(),b(c(z,x,y),a())) -> b#(z,c(y,z,a())) p3: b#(a(),b(c(z,x,y),a())) -> c#(y,z,a()) p4: f#(c(a(),b(b(z,a()),y),x)) -> f#(c(x,b(z,x),y)) p5: f#(c(a(),b(b(z,a()),y),x)) -> c#(x,b(z,x),y) p6: f#(c(a(),b(b(z,a()),y),x)) -> b#(z,x) p7: c#(f(c(a(),y,a())),x,z) -> f#(b(b(z,z),f(b(y,b(x,a()))))) p8: c#(f(c(a(),y,a())),x,z) -> b#(b(z,z),f(b(y,b(x,a())))) p9: c#(f(c(a(),y,a())),x,z) -> b#(z,z) p10: c#(f(c(a(),y,a())),x,z) -> f#(b(y,b(x,a()))) p11: c#(f(c(a(),y,a())),x,z) -> b#(y,b(x,a())) p12: c#(f(c(a(),y,a())),x,z) -> b#(x,a()) and R consists of: r1: b(a(),b(c(z,x,y),a())) -> b(b(z,c(y,z,a())),x) r2: f(c(a(),b(b(z,a()),y),x)) -> f(c(x,b(z,x),y)) r3: c(f(c(a(),y,a())),x,z) -> f(b(b(z,z),f(b(y,b(x,a()))))) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: b#(a(),b(c(z,x,y),a())) -> b#(b(z,c(y,z,a())),x) p2: b#(a(),b(c(z,x,y),a())) -> c#(y,z,a()) p3: c#(f(c(a(),y,a())),x,z) -> b#(y,b(x,a())) p4: b#(a(),b(c(z,x,y),a())) -> b#(z,c(y,z,a())) p5: c#(f(c(a(),y,a())),x,z) -> f#(b(y,b(x,a()))) p6: f#(c(a(),b(b(z,a()),y),x)) -> b#(z,x) p7: f#(c(a(),b(b(z,a()),y),x)) -> c#(x,b(z,x),y) p8: c#(f(c(a(),y,a())),x,z) -> b#(z,z) p9: c#(f(c(a(),y,a())),x,z) -> b#(b(z,z),f(b(y,b(x,a())))) p10: c#(f(c(a(),y,a())),x,z) -> f#(b(b(z,z),f(b(y,b(x,a()))))) p11: f#(c(a(),b(b(z,a()),y),x)) -> f#(c(x,b(z,x),y)) and R consists of: r1: b(a(),b(c(z,x,y),a())) -> b(b(z,c(y,z,a())),x) r2: f(c(a(),b(b(z,a()),y),x)) -> f(c(x,b(z,x),y)) r3: c(f(c(a(),y,a())),x,z) -> f(b(b(z,z),f(b(y,b(x,a()))))) The set of usable rules consists of r1, r2, r3 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: b#_A(x1,x2) = max{x1, x2} a_A = 4 b_A(x1,x2) = max{2, x1, x2} c_A(x1,x2,x3) = max{4, x1, x2, x3} c#_A(x1,x2,x3) = max{x1, x2, x3} f_A(x1) = max{3, x1} f#_A(x1) = max{1, x1} precedence: b# = a = c = c# > b = f = f# partial status: pi(b#) = [] pi(a) = [] pi(b) = [] pi(c) = [] pi(c#) = [] pi(f) = [] pi(f#) = [1] 2. weighted path order base order: max/plus interpretations on natural numbers: b#_A(x1,x2) = 118 a_A = 179 b_A(x1,x2) = 355 c_A(x1,x2,x3) = 120 c#_A(x1,x2,x3) = 118 f_A(x1) = 283 f#_A(x1) = 77 precedence: a > b# = c# > b = c = f = f# partial status: pi(b#) = [] pi(a) = [] pi(b) = [] pi(c) = [] pi(c#) = [] pi(f) = [] pi(f#) = [] The next rules are strictly ordered: p6, p7, p10 We remove them from the problem. -- SCC decomposition. Consider the dependency pair problem (P, R), where P consists of p1: b#(a(),b(c(z,x,y),a())) -> b#(b(z,c(y,z,a())),x) p2: b#(a(),b(c(z,x,y),a())) -> c#(y,z,a()) p3: c#(f(c(a(),y,a())),x,z) -> b#(y,b(x,a())) p4: b#(a(),b(c(z,x,y),a())) -> b#(z,c(y,z,a())) p5: c#(f(c(a(),y,a())),x,z) -> f#(b(y,b(x,a()))) p6: c#(f(c(a(),y,a())),x,z) -> b#(z,z) p7: c#(f(c(a(),y,a())),x,z) -> b#(b(z,z),f(b(y,b(x,a())))) p8: f#(c(a(),b(b(z,a()),y),x)) -> f#(c(x,b(z,x),y)) and R consists of: r1: b(a(),b(c(z,x,y),a())) -> b(b(z,c(y,z,a())),x) r2: f(c(a(),b(b(z,a()),y),x)) -> f(c(x,b(z,x),y)) r3: c(f(c(a(),y,a())),x,z) -> f(b(b(z,z),f(b(y,b(x,a()))))) The estimated dependency graph contains the following SCCs: {p1, p2, p3, p4, p6, p7} {p8} -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: b#(a(),b(c(z,x,y),a())) -> b#(b(z,c(y,z,a())),x) p2: b#(a(),b(c(z,x,y),a())) -> b#(z,c(y,z,a())) p3: b#(a(),b(c(z,x,y),a())) -> c#(y,z,a()) p4: c#(f(c(a(),y,a())),x,z) -> b#(b(z,z),f(b(y,b(x,a())))) p5: c#(f(c(a(),y,a())),x,z) -> b#(z,z) p6: c#(f(c(a(),y,a())),x,z) -> b#(y,b(x,a())) and R consists of: r1: b(a(),b(c(z,x,y),a())) -> b(b(z,c(y,z,a())),x) r2: f(c(a(),b(b(z,a()),y),x)) -> f(c(x,b(z,x),y)) r3: c(f(c(a(),y,a())),x,z) -> f(b(b(z,z),f(b(y,b(x,a()))))) The set of usable rules consists of r1, r2, r3 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: max/plus interpretations on natural numbers: b#_A(x1,x2) = max{125, x1 - 55, x2 + 41} a_A = 0 b_A(x1,x2) = max{675, x1 + 145, x2 + 181} c_A(x1,x2,x3) = max{348, x1 + 290, x2 + 127, x3 + 308} c#_A(x1,x2,x3) = max{x1 + 453, x2 + 262, x3 + 126} f_A(x1) = max{263, x1 - 456} precedence: b = c = c# > b# = a = f partial status: pi(b#) = [2] pi(a) = [] pi(b) = [1, 2] pi(c) = [1, 2, 3] pi(c#) = [2, 3] pi(f) = [] 2. weighted path order base order: max/plus interpretations on natural numbers: b#_A(x1,x2) = x2 + 4 a_A = 6 b_A(x1,x2) = max{x1 + 137, x2 + 101} c_A(x1,x2,x3) = max{x1 + 5, x2 + 7, x3 + 31} c#_A(x1,x2,x3) = max{x2 + 142, x3 + 104} f_A(x1) = 47 precedence: b = c# > f > b# = a = c partial status: pi(b#) = [2] pi(a) = [] pi(b) = [] pi(c) = [3] pi(c#) = [] pi(f) = [] The next rules are strictly ordered: p1, p2, p3, p4, p5, p6 We remove them from the problem. Then no dependency pair remains. -- Reduction pair. Consider the dependency pair problem (P, R), where P consists of p1: f#(c(a(),b(b(z,a()),y),x)) -> f#(c(x,b(z,x),y)) and R consists of: r1: b(a(),b(c(z,x,y),a())) -> b(b(z,c(y,z,a())),x) r2: f(c(a(),b(b(z,a()),y),x)) -> f(c(x,b(z,x),y)) r3: c(f(c(a(),y,a())),x,z) -> f(b(b(z,z),f(b(y,b(x,a()))))) The set of usable rules consists of r1, r2, r3 Take the reduction pair: lexicographic combination of reduction pairs: 1. weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: f#_A(x1) = ((1,0),(0,0)) x1 + (1,8) c_A(x1,x2,x3) = ((0,0),(1,1)) x1 + ((1,0),(1,1)) x2 + ((0,1),(0,0)) x3 + (9,12) a_A() = (3,0) b_A(x1,x2) = ((0,1),(0,1)) x1 + ((0,1),(1,0)) x2 + (5,2) f_A(x1) = (4,1) precedence: f# = c = a = b = f partial status: pi(f#) = [] pi(c) = [] pi(a) = [] pi(b) = [] pi(f) = [] 2. weighted path order base order: matrix interpretations: carrier: N^2 order: standard order interpretations: f#_A(x1) = (0,0) c_A(x1,x2,x3) = x2 + (1,2) a_A() = (3,3) b_A(x1,x2) = (1,1) f_A(x1) = (0,0) precedence: a > c = b > f# = f partial status: pi(f#) = [] pi(c) = [2] pi(a) = [] pi(b) = [] pi(f) = [] The next rules are strictly ordered: p1 We remove them from the problem. Then no dependency pair remains.